0

可能重复:
我可以解开 GCC 的 RTTI 名称吗?

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

4

1 回答 1

2

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

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

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

于 2011-10-22T10:54:46.103 回答