__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;
}
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM5kzNxEjM0ETMzUDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
除了C++編譯器定義的__func__之外,預處理器還定義了另外4個對于程式調試很有用的名字:
__FILE__存放檔案名的字元串字面值
__LINE__存放目前行号的整型字面值
__TIME__存放檔案編譯時間的字元串字面值
__DATE__存放檔案編譯日期的字元串字面值