기본 타입(fundamental types)
1. 설명
정수, 혹은 실수이거나, void 타입, nullptr의 타입을 말합니다.
std::nullptr_t 를 제외한 포인터 타입은 기본 타입이 아닙니다.
std::is_fundamental 을 이용하여 해당 여부를 확인할 수 있습니다.
2. 예제
#include <iostream>
#include <type_traits>
class A{};
int main(){
std::cout << std::boolalpha;
std::cout << "A: " << std::is_fundamental<A>() << std::endl;
std::cout << "int: " << std::is_fundamental<int>() << std::endl;
std::cout << "int&: " << std::is_fundamental<int&>() << std::endl;
std::cout << "int*: " << std::is_fundamental<int *>() << std::endl;
std::cout << "std::nullptr_t: " << std::is_fundamental<std::nullptr_t>() << std::endl;
std::cout << "void: " << std::is_fundamental<void>() << std::endl;
std::cout << "void*: " << std::is_fundamental<void*>() << std::endl;
return 0;
}
출력은
A: false
int: true
int&: false
int*: false
std::nullptr_t: true
void: true
void*: false
'C++ > 개념(Concept)' 카테고리의 다른 글
True sharing / False sharing : std::hardware_..._interference_size (0) | 2021.08.30 |
---|---|
deleted 함수와 이동 연산의 overload resolution (0) | 2021.05.30 |
C++ 개념: 특수 멤버 함수(special member function) (0) | 2020.11.16 |
C++ 개념: 특수 멤버 함수 (0) | 2020.11.11 |