Boost C++ 库

...在世界上最受尊敬、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

第 39 章。Boost.TypeIndex 4.2 - Boost C++ 函数库
PrevUpHomeNext

第 39 章。Boost.TypeIndex 4.2

根据 Boost 软件许可证版本 1.0 发布。(参见随附文件 LICENSE_1_0.txt 或在 https://boost.ac.cn/LICENSE_1_0.txt 复制)

有时需要获取和存储运行时类型的相关信息。对于这种情况,通常会使用诸如 &typeid(T) 或 C++11 的 std::type_index 类这样的构造,而问题也由此产生

  • typeid(T)std::type_index 需要运行时类型信息 (RTTI)
  • 某些 typeid(T) 的实现会错误地不剥离类型中的 const、volatile 和引用限定符
  • 某些编译器存在 bug,在共享库之间无法正确比较 std::type_info 对象
  • 目前只有少数标准库实现提供了 std::type_index
  • 没有简单的方法可以存储类型信息而不剥离 const、volatile 和引用限定符
  • 没有友好且可移植的方法来获取人类可读的类型名称
  • 没有简单的方法来创建自己的类型信息类

Boost.TypeIndex 库的设计就是为了解决所有这些问题。

[Note] 注意

T 在这里表示类型。可以将其视为 template <class T> 中的 T


PrevUpHomeNext