Predefined variable containing a character string of the "unmangled" name of the C++ function being compiled.
static const char __PRETTY_FUNCTION__[] = "function-name";
The compiler implicitly defines this variable at the beginning of each function if the function refers to __PRETTY_FUNCTION__. This name, function-name, is the same identifier that appears in source code, not the "mangled" identifier that the compiler and linker use. The C++ compiler "mangles" a function name by appending extra characters to the function's identifier to denote the function's return type and the types of its parameters.
The ISO/IEC 14882-2003 C++ standard does not specify this symbol. This implicit variable is undefined outside of a function body. This symbol is only defined if the GCC extension setting is on.