__func__预定义标识符
他的基本是使用可以查看下面的例子:
void printHello(void)
{
std::cout << __func__ << std::endl;
}
void printWorld(void)
{
std::cout << __func__ << std::endl;
}
printHello();
printWorld();
结果是
printHello
printWorld
比如上面的例子:
void printHello(void)
{
static const char* __func__ = "printHello";
std::cout << __func__ << std::endl;
}
比如下面的这个例子:
#include <iostream>
class A
{
public:
A() : m_MyFunName(__func__) {
std::cout << m_MyFunName << std::endl;
}
void classAFunction(void) {
std::cout << __func__ << std::endl;
}
private:
char *m_MyFunName = "";
};
void printHello(void)
{
std::cout << __func__ << std::endl;
}
void printWorld(void)
{
std::cout << __func__ << std::endl;
}
int main(int argc, char** argv)
{
printHello();
printWorld();
A a;
a.classAFunction();
system("pause");
return 0;
}
输出结果为:
printHello
printWorld
A
classAFunction
void function(char* pFunc = __func__) // 编译报错