C++/개념(Concept)

C++ 개념: 기본 타입(fundamental types)

kim선달 2020. 11. 11. 23:41
Select Language

기본 타입(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