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)
还没有任何评论哟~
