Is there a (standardized) way to get the name of the current method using c++?
Using GNU GCC you can do this by using the macro __FUNCTION__
and __PRETTY_FUNCTION__
(surrounded by 2 underscores), however, this is of course non portable. Is there a way to do this in standard c++ or a way to make it portable?
The __func__
identifier is part of the C99 standard and is in the C++0x draft.
The identifier __func__
is implicitly declared by the compiler as if the following were at the very start of each function body:
static const char __func__[] = "function-name";
where function-name
is an implementation-defined string automatically provided by the compiler.
Until support for those standards is available (or more widely available) you're stuck with compiler-specific gunk.
No...... but some things end up being non standard standards!
see http://msdn.microsoft.com/en-us/library/b0084kay(VS.80).aspx which outlines the ANSI standard stuff, and then microsofs which includes FUNCTION
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With