显示功能的完全限定名称

lak*_*nan 6 c++ function

#include <iostream>
class A{
    public:
    void myfunction(){
        std::cout << __func__; 
    }
};
int main(){
    A obj;
    obj.myfunction();
}
Run Code Online (Sandbox Code Playgroud)

输出是myfunction.不幸的是__funct__不起作用.如何输出成员函数的完全限定名称即A::myfunction

Pra*_*rav 9

没有标准的定义方式.但是,如果您使用的是gcc,则可以使用__PRETTY_FUNCTION__而不是__func__.

标准C++(即C++ 03)没有__func__或者__PRETTY_FUNCTION__.

C++ 0x派生__func__自C99,它在8.4.2/8(n3290)中定义

函数本地预定义变量__func__定义为表单的定义

static const char __func__[] = "function-name ";

已提供,其中function-name是实现定义的字符串