__func__是编译器定义的一个局部静态变量(const char的一个静态数组),用于存放函数的名字。
#include<iostream>
using namespace std;
const char* hello() {return __func__;}
int main()
{
cout << " : in function " << __func__ << endl;
cout << hello() << endl;
return 0;
}
除了C++编译器定义的__func__之外,预处理器还定义了另外4个对于程序调试很有用的名字:
__FILE__存放文件名的字符串字面值
__LINE__存放当前行号的整型字面值
__TIME__存放文件编译时间的字符串字面值
__DATE__存放文件编译日期的字符串字面值