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
呼叫結果
(類模板)