Advertisement

C++11 | Run-time Type Identification (RTTI)

阅读量:

C++11版本中对运行时类型识别功能进行了优化,具体信息可参考此处:http://en.cppreference.com/w/cpp/types。与RTTI相关的有几个类和方法:>

  • 类型信息类
  • 类型识别运算符
  • 类型索引类

type_info

type_info类在头文件<typeinfo>中被定义,用于表示与C++类型相关的各类信息。通常情况下,该类是由typeid操作符所返回,用户无法自行创建。

type_info的具体实现依赖于编译环境,不同编译器所提供的实现方式可能存在差异。

以下代码示例可用于输出int类型对应的名称:

复制代码
    const std::type_info &tiInt = typeid(int);
    std::cout << "tiInt.name = " << tiInt.name() << std::endl;
    

type_info包含以下功能:

  • name(),用于获取类型名称
  • hash_code(),用于生成该类型的哈希值(具备唯一性特征)
  • before(),用于判断一个type_info对象是否在另一个对象之前排列(具体实现方式可

全部评论 (0)

还没有任何评论哟~