为什么std :: type_info不可复制?我可以把它存放在某个地方吗?

时间:2011-03-16 19:41:00

标签: c++ std typeid typeinfo

std::type_info类是不可复制的。这使得将其存储在对象中以供以后使用变得困难。我该怎么办?

3 个答案:

答案 0 :(得分:11)

在C ++ 11中有一个更好的解决方案。一个名为std :: type_index的新的可复制包装器。您需要包含标题“typeindex”才能使用它。

答案 1 :(得分:6)

您可以存储指向常量std::type_info对象的指针。

答案 2 :(得分:0)

来自MSDN IBM online documentation

  

type_info类描述了在...中生成的类型信息   程序由编译器。这个类的对象有效地存储了一个   指向该类型名称的指针。 type_info类也存储了一个   编码值适合比较两种类型的相等或   整理订单。类型的编码规则和整理顺序   未指定,程序之间可能有所不同。