如何使用c++过滤器

How to use c++filt

本文关键字:过滤器 c++ 何使用      更新时间:2023-10-16

可能重复:
我能解开GCC';RTTI名称?

我已经开始使用带有gcc的代码::块(只是无法再忍受VS2010(,尽管我总体上很满意,但有一件事在gcc中做得肯定不好,那就是当我想要使用typeid时,我得到的不是确切的类型名称,而是一些符号表示法(为什么?为什么它们不能与类型名称一起使用?(,我听说c++filt可以帮助解决这类问题,但我现在不知道如何使用它(或安装它——我必须下载它吗?(。

typeid返回对std::type_info实例的引用,因此我认为您使用的是其name()方法。

为了回答您为什么没有得到"精确"的类型名称的问题:name()返回一个实现定义的字符串,因此您不应该依赖它具有任何意义。特别是,它甚至不必是唯一的类型。

您应该使用==!=.before()直接比较std::type_info对象,如果您支持C++11,则可能与.hash_code()结合使用。