is_compound 類別
測試指定的類型是否不是基本。
語法
template <class Ty>
struct is_compound;
參數
Ty
要查詢的類型。
備註
如果 Ty 的類型是基本類型,則類型述詞的實例會保留 false
(也就是說,如果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