1、__FILE__用于指示本行语句所在源文件的文件名
2、__LINE__用于指示本行语句在源文件中的位置信息
3、__func__用于指示所在的函数
__func__预定义标识符对于轻量级的调试代码具有十分重要的作用。而在C++11中,标准甚至允许其使用在类或者结构体中。我们可以看看下面这个例子
#include <iostream>
using namespace std;
struct TestStruct {
TestStruct () : name(__func__) {}
const char *name;
};
int main() {
TestStruct ts;
cout << ts.name << endl; // TestStruct
}