__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__存放文件編譯日期的字符串字面值