プログラミング言語C++の基本型(primary type)区分は14種類存在する。C++標準ライブラリ<type_traits>ヘッダで提供されるメタ関数により判別可能。
カテゴリ | メタ関数 |
---|---|
void 型 |
is_void |
std::nullptr_t 型 |
is_null_pointer[C++14以降] |
整数型 | is_integral |
浮動小数点数型 | is_floating_point |
配列型 | is_array |
ポインタ型*1 | is_pointer |
lvalue参照型 | is_lvalue_reference |
rvalue参照型 | is_rvalue_reference |
データメンバへのポインタ型 | is_member_object_pointer |
メンバ関数へのポインタ型 | is_member_function_pointer |
列挙型 | is_enum |
共用型(union )*2 |
is_union |
クラス型(class , struct )*3 |
is_class |
関数型 | is_function |
関連URL:
- c++11 - What are the 15 classifications of types in C++? - Stack Overflow
- C++ Standard Library Defect Report List, #2247 Type traits and std::nullptr_t
- cppreference <type_traits>, cpprefjp <type_traits>