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 是否具有移动构造函数。
相关推荐
程序猿编码1 分钟前
扔掉 Python!纯 C++ 本地跑扩散 TTS,GGML 加持,支持 RK3588 NPU 加速
c++·计算机视觉·大模型·transformer·rk3588·推理·ggml
闲研随记1 分钟前
RL算法学习:ArgMaxRL
算法·llm·强化学习·rl
飞Link4 分钟前
零基础:离散数据积分与 Python 实现保姆级教程
python·算法
郝学胜-神的一滴14 分钟前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
troy12819 分钟前
Visual Studio Code 详细教程:从入门到高效开发
开发语言·python
淡海水19 分钟前
11-03-Unity-List-T-和Dictionary-TKey-TValue-的性能调优实战
算法·unity·c#·list·dictionary
土司大王24 分钟前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
泡海椒28 分钟前
jquick-pdf 超详细入门教程:Java 轻量级 HTML 模板生成 PDF 工具
java·开发语言
a1879272183131 分钟前
【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩
算法·leetcode·双指针·滑动窗口·原理·相向双指针·算法讲解
八年。。33 分钟前
WSL学习(三)——搭建Linux + C++ + SOME/IP 基础开发环境
开发语言·笔记·ubuntu