如何通过gcc获取变量的typeid完整类型名称?
- 内容介绍
- 文章标签
- 相关推荐
本文共计279个文字,预计阅读时间需要2分钟。
这是我的先前文章:[链接](https://www.cnblogs.com/jisuanjizhishizatan/p/16149500.)。
关于typeid,可以使用以下方法输出它的名称:cout <
这是我之前的文章:
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;
这是测试代码,对于函数指针的输出:
本文共计279个文字,预计阅读时间需要2分钟。
这是我的先前文章:[链接](https://www.cnblogs.com/jisuanjizhishizatan/p/16149500.)。
关于typeid,可以使用以下方法输出它的名称:cout <
这是我之前的文章:
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;
这是测试代码,对于函数指针的输出:

