has_trivial_destructor Class
Teste si le type a un destructeur trivial.
template<class Ty>
struct has_trivial_destructor;
Paramètres
- Ty
le type à l'interroger.
Notes
Une instance de l'attribut de type est la valeur true si le type Ty est une classe qui a un destructeur simple, sinon il est false.
Un destructeur d'une classe Ty est simple si :
il s'agit d'un destructeur implicitement déclaré
toutes les bases directes de la classe Ty ont les destructeurs triviaux
les classes de toutes les données membre non statique de type de classe ont les destructeurs triviaux
les classes de toutes les données membre non statique de tableau de type de classe ont les destructeurs triviaux
Exemple
// std_tr1__type_traits__has_trivial_destructor.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>
struct trivial
{
int val;
};
struct throws
{
throws() throw(int)
{
}
throws(const throws&) throw(int)
{
}
throws& operator=(const throws&) throw(int)
{
}
~throws()
{
}
int val;
};
int main()
{
std::cout << "has_trivial_destructor<trivial> == " << std::boolalpha
<< std::has_trivial_destructor<trivial>::value << std::endl;
std::cout << "has_trivial_destructor<throws> == " << std::boolalpha
<< std::has_trivial_destructor<throws>::value << std::endl;
return (0);
}
Configuration requise
en-tête : <type_traits>
l'espace de noms : type