【发布时间】:2015-07-07 03:18:34
【问题描述】:
我正在研究 C++11/14 的自动特性。
出于教育目的,我想明确显示我的代码类型推断的结果。 我试过 typeid().name(),但我发现这种方法有两个问题。
- 输出有时难以理解。 (例如,“NSt3__16vectorIiNS_9allocatorIiEEEE”)
- 似乎没有显示 const/volatile 修饰符。
@πάνταῥεῖ 我曾尝试使用您指出的 abi::__cxa_demangle()。
问题1解决了,谢谢,但是typeid().name()好像没有包含CV修饰符信息。
我认为使用auto关键字有一些陷阱,所以我想看看类型推断的确切结果,包括CV修饰符和引用类型。
我在 mac os 10.10.3 上使用 clang 6.1.0,但如果可能的话,我想知道可移植的方式。
【问题讨论】:
-
@JBL 不需要是同一个问题,只要有合适的答案,恕我直言。
-
@πάνταῥεῖ 好吧,对此最实际的答案不在副本上,也不适合恕我直言,但是……(尽管确实有可以帮助他的答案)
-
@JBL 好吧,我将重新提出问题,您可以发布更好的答案。
-
你使用的是什么编译器和操作系统?
标签: c++ c++11 type-inference