Trait Effect
is_reference<T> Lvalue 또는 rvalue 레퍼런스
is_member_pointer<T> 비정적 맴버에대한 포인터
is_arithmetic<T> 정수형(bool, 문자형 포함) 또는 부동소수점 타입
is_fundamental<T> void, 정수형(bool, 문자형 포함) 또는 부동소수점, std::nullptr_t
is_scalar<T> 정수형(bool, 문자형 포함) 또는 부동소수점, 열거형, 포인터, 맴버 포인터, std::nullptr_t
is_object<T> void, 함수, 레퍼런스를 제외한 모든 타입
is_compound<T> is_fundermental<T>의 반대: 배열, 열거형, 공용체, 클래스
함수, 레퍼런스, 포인터, 맴버 포인터
std::is_member_pointer<T>::value
= !(is_member_object_pointer_v<T> || is_member_function_pointer_v<T>)
std::is_arithmetic<T>::value
= is_intergral_v<T> || is_floating_pointer_v<T>
std::is_fundamental<T>::value
= is_arithmetic_v<T> || is_void_v<T> || is_null_pointer_v<T>
= !is_compound_v<T>
std::is_scalar<T>::value
= is_arithmetic_v<T> || is_enum_v<T> || is_pointer_v<T> || is_member_pointer_v<T> || is_null_pointer_v<T>
std::is_object<T>::value
= is_scalar_v<T> || is_array_v<T> || is_class_v<T> || is_union_v<T>
= !(is_function_v<T> || is_reference_v<T> || is_void_v<T>)
std::is_compound<T>::value
= !is_fundamental_v<T>
= is_enum_v<T> || is_array_v<T> || is_class_v<T> || is_union_v<T>
|| is_reference_v<T> || is_pointer_v<T> || is_member_pointer_v<T>
|| is_function_v<T>

'C++' 카테고리의 다른 글

[C++20] Concepts  (0) 2022.09.17
값 카테고리, 타입 카테고리  (0) 2022.07.04
Template 가이드라인  (0) 2022.07.04
Type Category Testing_1(형 카 검-내장타입)  (0) 2022.07.03
[C++] Return Value Optimization(RVO)  (0) 2021.01.04
복사했습니다!