显示功能的完全限定名称

时间:2011-05-27 11:24:46

标签: c++ function

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

输出为myfunction。遗憾的是__funct__不起作用。如何输出成员函数的完全限定名称,即A::myfunction

2 个答案:

答案 0 :(得分:9)

没有标准的定义方式。但是,如果您使用的是gcc,则可以使用__PRETTY_FUNCTION__代替__func__

标准C ++(即C ++ 03)没有__func____PRETTY_FUNCTION__

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

  

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

     

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

     提供了

,其中function-name是一个实现定义的字符串

答案 1 :(得分:3)

正如@Prasoon所说,没有标准的方法 对于Visual Studio,__FUNCTION__显示完全限定名称。