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 是否具有移动构造函数。
相关推荐
在放️21 分钟前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy28 分钟前
java知识五(继承)
java·开发语言
c++之路30 分钟前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手31 分钟前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
开源Z35 分钟前
LeetCode 42 · 接雨水:从暴力到双指针的三步优化
算法·leetcode
旖-旎44 分钟前
《LeetCode 695 岛屿的最大面积 FloodFill DFS 解法》
c++·算法·力扣·深度优先遍历·floodfill
森G1 小时前
61、信号与槽机制在 TCP 编程中的应用---------网络编程
网络·c++·qt·网络协议·tcp/ip
syagain_zsx1 小时前
STL 之 vector 讲练结合
c++·算法
聚名网2 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
牛油果子哥q2 小时前
STL set与map底层精讲,红黑树适配原理、有序去重特性、迭代器遍历、API实战与面试核心考点全解
开发语言·数据结构·c++·面试