如何解决显示函数的标准名称
|#include <iostream>
class A{
public:
void myfunction(){
std::cout << __func__;
}
};
int main(){
A obj;
obj.myfunction();
}
输出为myfunction
。不幸的是__funct__
不起作用。如何输出成员函数的全限定名称,即A::myfunction
?
解决方法
没有标准的定义方法。但是,如果您使用的是gcc,则可以使用
__PRETTY_FUNCTION__
代替__func__
。
标准C ++(即C ++ 03)没有__func__
或__PRETTY_FUNCTION__
。
C ++ 0x从C99派生__func__
并且在8.4.2 / 8(n3290)中定义
定义函数局部的预定义变量“ 5”,就像形式的定义一样
static const char __func__[] = \"function-name \";
已经提供,其中function-name是实现定义的字符串
, 正如@Prasoon所说,没有标准方法。
对于Visual Studio,“ 11”显示标准名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。