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 是否具有移动构造函数。
相关推荐
.select.1 分钟前
STL下常见容器底层数据结构
开发语言·c++
Book思议-2 分钟前
【数据结构实战】单向循环单链表判别条件理解
c语言·数据结构·算法
于先生吖3 分钟前
基于 Java 开发短剧系统:完整架构与核心功能实现
java·开发语言·架构
老鱼说AI5 分钟前
CUDA架构与高性能程序设计:多维网格与数据
c++·人工智能·深度学习·神经网络·机器学习·语言模型·cuda
badhope5 分钟前
GitHub超有用项目推荐:skill仓库--用技能树打造AI超频引擎
java·开发语言·前端·人工智能·python·重构·github
海边的梦5 分钟前
救命!此电脑网络位置异常?AD域排错3步封神,DNS/NetLogon/GPO根因一键定位
服务器·开发语言·php
时寒的笔记6 分钟前
js逆向入门03_会展中心案例&shuwei观察&ji思录
开发语言·前端·javascript
逆境不可逃7 分钟前
【后端新手谈 04】Spring 依赖注入所有方式 + 构造器注入成官方推荐的原因
java·开发语言·spring boot·后端·算法·spring·注入方式
英英_7 分钟前
MATLAB MapReduce 从入门到实战:大数据处理完整教程
开发语言·matlab·mapreduce
Anastasiozzzz8 分钟前
深度解析 Java 单例模式
java·开发语言