C++中的类型查询(type trait)模板

2023年8月10日,周四上午


C++中的类型查询(type trait)模板用于提供关于类型特征的信息,

帮助在编译期间进行类型检查和类型推导。

这些类型查询模板都定义在 <type_traits> 头文件中

常见的类型查询模板

  1. std::is_array<T>:用于判断类型 T 是否是数组类型。
  2. std::is_pointer<T>:用于判断类型 T 是否是指针类型。
  3. std::is_reference<T>:用于判断类型 T 是否是引用类型。
  4. std::is_const<T>:用于判断类型 T 是否是常量类型。
  5. std::is_volatile<T>:用于判断类型 T 是否是易失类型。
  6. std::is_integral<T>:用于判断类型 T 是否是整数类型。
  7. std::is_floating_point<T>:用于判断类型 T 是否是浮点类型。
  8. std::is_enum<T>:用于判断类型 T 是否是枚举类型。
  9. std::is_class<T>:用于判断类型 T 是否是类类型。
  10. std::is_function<T>:用于判断类型 T 是否是函数类型。
  11. std::is_void<T>:用于判断类型 T 是否是 void 类型。
  12. std::is_same<T, U>:用于判断类型 T 和类型 U 是否相同。
  13. std::is_base_of<Base, Derived>:用于判断类型 Derived 是否是类型 Base 的派生类。
  14. std::is_convertible<T, U>:用于判断类型 T 是否可隐式转换为类型 U
  15. std::is_trivial<T>:用于判断类型 T 是否是平凡类型。
  16. std::is_pod<T>:用于判断类型 T 是否是POD类型(Plain Old Data)。
  17. std::is_abstract<T>:用于判断类型 T 是否是抽象类类型。
  18. std::is_default_constructible<T>:用于判断类型 T 是否具有默认构造函数。
  19. std::is_copy_constructible<T>:用于判断类型 T 是否具有复制构造函数。
  20. std::is_move_constructible<T>:用于判断类型 T 是否具有移动构造函数。
相关推荐
艾莉丝努力练剑41 分钟前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
还债大湿兄2 小时前
《C++内存泄漏8大战场:Qt/MFC实战详解 + 面试高频陷阱破解》
c++·qt·mfc
倔强青铜35 小时前
苦练Python第18天:Python异常处理锦囊
开发语言·python
u_topian5 小时前
【个人笔记】Qt使用的一些易错问题
开发语言·笔记·qt
珊瑚里的鱼6 小时前
LeetCode 692题解 | 前K个高频单词
开发语言·c++·算法·leetcode·职场和发展·学习方法
AI+程序员在路上6 小时前
QTextCodec的功能及其在Qt5及Qt6中的演变
开发语言·c++·qt
xingshanchang6 小时前
Matlab的命令行窗口内容的记录-利用diary记录日志/保存命令窗口输出
开发语言·matlab
Risehuxyc6 小时前
C++卸载了会影响电脑正常使用吗?解析C++运行库的作用与卸载后果
开发语言·c++
AI视觉网奇6 小时前
git 访问 github
运维·开发语言·docker