cplusplus
.com
教程
参考
文章
论坛
C++
教程
参考
文章
论坛
参考
C 库
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
容器
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
输入/输出
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
多线程
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
其他
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<type_traits>
辅助类
C++11
false_type
C++11
integral_constant
C++11
true_type
类型特征
C++11
alignment_of
C++11
extent
C++11
has_virtual_destructor
C++11
is_abstract
C++11
is_arithmetic
C++11
is_array
C++11
is_assignable
C++11
is_base_of
C++11
is_class
C++11
is_compound
C++11
is_const
C++11
is_constructible
C++11
is_convertible
C++11
is_copy_assignable
C++11
is_copy_constructible
C++11
is_default_constructible
C++11
is_destructible
C++11
is_empty
C++11
is_enum
C++11
is_floating_point
C++11
is_function
C++11
is_fundamental
C++11
is_integral
C++11
is_literal_type
C++11
is_lvalue_reference
C++11
is_member_function_pointer
C++11
is_member_object_pointer
C++11
is_member_pointer
C++11
is_move_assignable
C++11
is_move_constructible
C++11
is_nothrow_assignable
C++11
is_nothrow_constructible
C++11
is_nothrow_copy_assignable
C++11
is_nothrow_copy_constructible
C++11
is_nothrow_default_constructible
C++11
is_nothrow_destructible
C++11
is_nothrow_move_assignable
C++11
is_nothrow_move_constructible
C++14
is_null_pointer
C++11
is_object
C++11
is_pod
C++11
is_pointer
C++11
is_polymorphic
C++11
is_reference
C++11
is_rvalue_reference
C++11
is_same
C++11
is_scalar
C++11
is_signed
C++11
is_standard_layout
C++11
is_trivial
C++11
is_trivially_assignable
C++11
is_trivially_constructible
C++11
is_trivially_copy_assignable
C++11
is_trivially_copy_constructible
C++11
is_trivially_copyable
C++11
is_trivially_default_constructible
C++11
is_trivially_destructible
C++11
is_trivially_move_assignable
C++11
is_trivially_move_constructible
C++11
is_union
C++11
is_unsigned
C++11
is_void
C++11
is_volatile
C++11
rank
类型转换
C++11
add_const
C++11
add_cv
C++11
add_lvalue_reference
C++11
add_pointer
C++11
add_rvalue_reference
C++11
add_volatile
C++11
aligned_storage
C++11
aligned_union
C++11
common_type
C++11
conditional
C++11
decay
C++11
enable_if
C++11
make_signed
C++11
make_unsigned
C++11
remove_all_extents
C++11
remove_const
C++11
remove_cv
C++11
remove_extent
C++11
remove_pointer
C++11
remove_reference
C++11
remove_volatile
C++11
result_of
C++11
underlying_type
参考
<type_traits>
头文件
<type_traits>
类型特征
该头文件定义了一系列用于在编译时获取类型信息的类。
该头文件包含
辅助类:
用于协助创建编译时常量的标准类。
类型特征:
以编译时常量值的形式获取类型特征的类。
类型转换:
通过对现有类型应用特定转换来获取新类型的类。
类型的一个基本特征是它们可以被划分的类别。下图展示了这些类别如何重叠
主要类别
复合类别
基本类型
void
std::nullptr_t
标量
对象
整数
算术
浮点
复合
指针
成员对象指针
成员指针
成员函数指针
枚举
联合体
类
*
数组
左值引用
引用
右值引用
函数
* = 不包括联合体
辅助类
integral_constant
整型常量
(类模板)
true_type
真类型
(类)
false_type
假类型
(类)
类型特征
主要类型类别
is_array
是否为数组
(类模板)
is_class
是否为非联合体的类
(类模板)
is_enum
是否为枚举
(类模板)
is_floating_point
是否为浮点型
(类模板)
is_function
是否为函数
(类模板)
is_integral
是否为整型
(类模板)
is_lvalue_reference
是否为左值引用
(类模板)
is_member_function_pointer
是否为成员函数指针
(类模板)
is_member_object_pointer
是否为成员对象指针
(类模板)
is_pointer
是否为指针
(类模板)
is_rvalue_reference
是否为右值引用
(类模板)
is_union
是否为联合体
(类模板)
is_void
是否为 void
(类模板)
复合类型类别
is_arithmetic
是否为算术类型
(类模板)
is_compound
是否为复合类型
(类模板)
is_fundamental
是否为基本类型
(类模板)
is_member_pointer
是否为成员指针类型
(类模板)
is_object
是否为对象类型
(类模板)
is_reference
是否为引用类型
(类模板)
is_scalar
是否为标量类型
(类模板)
类型属性
is_abstract
是否为抽象类
(类模板)
is_const
是否为 const 限定
(类模板)
is_empty
是否为空类
(类模板)
is_literal_type
是否为字面值类型
(类模板)
is_pod
是否为 POD 类型
(类模板)
is_polymorphic
是否为多态
(类模板)
is_signed
是否为有符号类型
(类模板)
is_standard_layout
是否为标准布局类型
(类模板)
is_trivial
是否为平凡类型
(类模板)
is_trivially_copyable
是否为平凡可复制
(类模板)
is_unsigned
是否为无符号类型
(类模板)
is_volatile
是否为 volatile 限定
(类模板)
类型特性
has_virtual_destructor
是否有虚析构函数
(类模板)
is_assignable
是否可赋值
(类模板)
is_constructible
是否可构造
(类模板)
is_copy_assignable
是否可复制赋值
(类模板)
is_copy_constructible
是否可复制构造
(类模板)
is_destructible
是否可析构
(类模板)
is_default_constructible
是否可默认构造
(类模板)
is_move_assignable
是否可移动赋值
(类模板)
is_move_constructible
是否可移动构造
(类模板)
is_trivially_assignable
是否可平凡赋值
(类模板)
is_trivially_constructible
是否可平凡构造
(类模板)
is_trivially_copy_assignable
是否可平凡复制赋值
(类模板)
is_trivially_copy_constructible
是否可平凡复制构造
(类模板)
is_trivially_destructible
是否可平凡析构
(类模板)
is_trivially_default_constructible
是否可平凡默认构造
(类模板)
is_trivially_move_assignable
是否可平凡移动赋值
(类模板)
is_trivially_move_constructible
是否可平凡移动构造
(类模板)
is_nothrow_assignable
赋值时是否不抛出异常
(类模板)
is_nothrow_constructible
构造时是否不抛出异常
(类模板)
is_nothrow_copy_assignable
复制赋值时是否不抛出异常
(类模板)
is_nothrow_copy_constructible
复制构造时是否不抛出异常
(类模板)
is_nothrow_destructible
是否可 nothrow 析构
(类模板)
is_nothrow_default_constructible
默认构造时是否不抛出异常
(类模板)
is_nothrow_move_assignable
移动赋值时是否不抛出异常
(类模板)
is_nothrow_move_constructible
移动构造时是否不抛出异常
(类模板)
类型关系
is_base_of
是否为基类
(类模板)
is_convertible
是否可转换
(类模板)
is_same
是否为相同类型
(类模板)
属性查询
alignment_of
类型的对齐方式
(类模板)
extent
数组维度大小
(类模板)
rank
数组秩
(类模板)
类型转换
Const-volatile 限定符
add_const
添加 const 限定
(类模板)
add_cv
添加 const volatile 限定
(类模板)
add_volatile
添加 volatile 限定
(类模板)
remove_const
移除 const 限定
(类模板)
remove_cv
移除 cv 限定
(类模板)
remove_volatile
移除 volatile 限定
(类模板)
复合类型变更
add_pointer
添加指针
(类模板)
add_lvalue_reference
添加左值引用
(类模板)
add_rvalue_reference
添加右值引用
(类模板)
decay
退化类型
(类模板)
make_signed
转换为有符号类型
(类模板)
make_unsigned
转换为无符号类型
(类模板)
remove_all_extents
移除所有数组维度
(类模板)
remove_extent
移除数组维度
(类模板)
remove_pointer
移除指针
(类模板)
remove_reference
移除引用
(类模板)
underlying_type
枚举的底层类型
(类模板)
其他类型生成器
aligned_storage
对齐存储
(类模板)
aligned_union
对齐联合体
(类模板)
common_type
共同类型
(类模板)
conditional
条件类型
(类模板)
enable_if
若条件满足则启用类型
(类模板)
result_of
调用结果
(类模板)