如何使用c ++ filt

时间:2011-10-22 10:30:56

标签: c++ c++filt

  

可能重复:
  Can I ungarble GCC's RTTI names?

我已经开始使用带有gcc的code :: blocks(再也无法忍受VS2010了)虽然我对所有人都很满意,但有一件事在gcc中肯定不是很好,当我想要使用时typeid我得到的不是确切的类型名称,而是一些符号表示法(为什么?为什么不能使用类型名称?)无论如何,我听说c ++ filt可以帮助解决这类问题,但我不知道现在如何使用它(或安装它 - 我必须下载吗?)。

1 个答案:

答案 0 :(得分:2)

typeid返回对std::type_info实例的引用,因此我假设您正在使用其name()方法。

回答你关于为什么没有得到“确切”类型名称的问题:name()返回一个实现定义的字符串,所以你不应该依赖它有任何意义。特别是,它甚至不必是该类型的唯一。

如果您有C ++ 11支持,则应直接使用std::type_info==!=.before()个对象进行比较,可能与.hash_code()组合。< / p>