C++11支持__FUNCTION__预定义标识符,基本功能是实现返回所在函数的名字,这样做的一个好处是有利于调试程序。例如
#include <iostream>
using namespace std;
const char* hello()
{
return __FUNCTION__;
}
const char* world()
{
return __FUNCTION__;
}
int main()
{
cout<<hello()<<"; "<<world()<<endl;
}
输出为:hello;world
也可在类或者结构体中
#include <iostream>
using namespace std;
struct TestStruct
{
TestStruct():name(__FUNCTION__){}
const char* name;
};
int main()
{
TestStruct ts;
cout<<ts.name<<endl;
return 0;
}