is_compound Class
Teste si le type spécifié n'est pas simple.
template<class Ty>
struct is_compound;
Paramètres
- Ty
le type à l'interroger.
Notes
Une instance de l'attribut de type contient false si le type d' Ty est un type fondamental (autrement dit, si is_fundamental<Ty> contient true) ; sinon, elle gère true.Ainsi, l'attribut maintient true si Ty est un type de tableau, un type de fonction, un pointeur vers void ou un objet ou une fonction, une référence, une classe, une union, une énumération, ou un pointeur vers membre de classe non statique, ou un formulaire cv-qualifié de l'un d'eux.
Exemple
// std_tr1__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);
}
Configuration requise
en-tête : <type_traits>
l'espace de noms : type