On Jan 14, 7:46�am, bolega<gnuist...@gmail.com> wrote:
Basically, I have spent a few hours experimenting and searching on the
comp.lang.c/c++
Let me use SQR for brevity and saving line
Here are progressively refined macros :
#define SQR(x) ((x)*(x))
#define SQR(x) ({typedef xtype=x; xtype xval=x; xval*xval}) �// NOTE,
closure or {} inside () is a valid idea in C, and thus no return is
needed.
this macro is given in several posts like
http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/38ef2...
there is a problem with typedef
Bolega
Why not just an inline function template (this being c.l.c++)?
template<typename T>
inline T square(T value)
{
return value*value;
}