K
Keith Thompson
Nobody said:No it can't. You're not talking about "functions", but "special forms".
Just because something uses the syntax "name(argument list)", that doesn't
make it a function.
There isn't a single *function* in the standard which requires special
treatment from the compiler. Anything which looks like a function either
can be implemented in a library on any sane platform or is a macro.
If you want C++, you know where to find it.
I don't think C++ functions or templates can implement offsetof()
(which takes a member name as an argument) or assert() (which
requires source level information from the point of invocation)
any better than C can.