当前位置:网站首页>关于gcc输出typeid完整名的方法

关于gcc输出typeid完整名的方法

2022-04-23 17:40:00 计算机知识杂谈

这是我之前的文章:
https://www.cnblogs.com/jisuanjizhishizatan/p/16149500.html

对于typeid,可以使用如下的方法输出它的名字,本质上name()方法返回的是一个string类型的字符串。

cout<<typeid(变量名).name<<endl;

在不同的环境中,输出的是不同的结果。对于VC之类的编译器,输出的是完整名字。在部分编译器中,输出的只是单独的字母。

如,只输出了i。

对于如何输出完整名的方法,我也在网上进行了简单搜索,最终找到了cxxabi.h中的一个函数:

cout<<abi::__cxa_demangle(typeid(变量名).name(),0,0,0)<<endl;

这是测试代码,对于函数指针的输出:

版权声明
本文为[计算机知识杂谈]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/jisuanjizhishizatan/p/16182582.html