is_compound 클래스
지정된 형식이 기본 형식이 아닌지 테스트합니다.
구문
template <class Ty>
struct is_compound;
매개 변수
Ty
형식이 쿼리입니다.
설명
형식 조건 false
자의 인스턴스는 Ty의 형식이 기본 형식인 경우(즉, is_fundamental<Ty>가 보유하는 경우) 보유true
합니다. 그렇지 않으면 보유합니다true
. 따라서 조건자는 Ty가 배열 형식, 함수 형식, 포인터 void
또는 개체 또는 함수, 참조, 클래스, 공용 구조체, 열거형 또는 비정적 클래스 멤버에 대한 포인터이거나 그 중 하나의 cv 정규화된 형식인 경우 유지 true
됩니다.
예시
// std__type_traits__is_compound.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
int main()
{
std::cout << "is_compound<trivial> == " << std::boolalpha
<< std::is_compound<trivial>::value << std::endl;
std::cout << "is_compound<int[]> == " << std::boolalpha
<< std::is_compound<int[]>::value << std::endl;
std::cout << "is_compound<int()> == " << std::boolalpha
<< std::is_compound<int()>::value << std::endl;
std::cout << "is_compound<int&> == " << std::boolalpha
<< std::is_compound<int&>::value << std::endl;
std::cout << "is_compound<void *> == " << std::boolalpha
<< std::is_compound<void *>::value << std::endl;
std::cout << "is_compound<int> == " << std::boolalpha
<< std::is_compound<int>::value << std::endl;
return (0);
}
is_compound<trivial> == true
is_compound<int[]> == true
is_compound<int()> == true
is_compound<int&> == true
is_compound<void *> == true
is_compound<int> == false
요구 사항
헤더:<type_traits>
네임스페이스: std