다음을 통해 공유


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

참고 항목

<type_traits>
is_class 클래스