이 기사에서는 C++ STL에서 std::is_fundamental 템플릿의 작동, 구문 및 예제에 대해 논의할 것입니다.
is_ basic은
기본 유형이란 무엇입니까?
기본 유형은 컴파일러 자체에서 이미 선언된 기본 제공 유형입니다. int, float, char, double 등과 같이 내장 데이터 유형이라고도 합니다.
클래스, 열거형, 구조체, 참조 또는 포인터와 같이 사용자 정의된 모든 데이터 유형은 기본 유형의 일부가 아닙니다.
구문
template <class T> is_fundamental;
매개변수
템플릿은 T 타입의 파라미터만 가질 수 있으며, 주어진 타입이 최종 클래스 타입인지 확인합니다.
반환 값
Boolean 값을 반환하고, 주어진 유형이 기본 데이터 유형이면 true, 주어진 유형이 기본 데이터 유형이 아니면 false를 반환합니다.
예시
Input: class final_abc; is_fundamental<final_abc>::value; Output: False Input: is_fundamental<int>::value; Output: True Input: is_fundamental<int*>::value; Output: False
예시
#include <iostream> #include <type_traits> using namespace std; class TP { //TP Body }; int main() { cout << boolalpha; cout << "checking for is_fundamental:"; cout << "\nTP: "<< is_fundamental<TP>::value; cout << "\nchar :"<< is_fundamental<char>::value; cout << "\nchar& :"<< is_fundamental<char&>::value; cout << "\nchar* :"<< is_fundamental<char*>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_fundamental: TP: false char : true char& : false char* : false
예시
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_fundamental:"; cout << "\nint: "<< is_fundamental<int>::value; cout << "\ndouble :"<< is_fundamental<double>::value; cout << "\nint& :"<< is_fundamental<int&>::value; cout << "\nint* :"<< is_fundamental<int*>::value; cout << "\ndouble& :"<< is_fundamental<double&>::value; cout << "\ndouble* :"<< is_fundamental<double*>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_fundamental: int: true double : true int& : false int* : false double& : false double* : false