has_trivial_destructor, classe
Teste si le type possède le destructeur trivial.
template<class Ty>
struct has_trivial_destructor;
Paramètres
- Ty
Le type à requêter.
Notes
Une instance de l'attribut de type contient la valeur true si le type Ty est une classe qui possède un destructeur trivial, sinon il contient FALSE.
Un destructeur de la classe Ty est trivial si :
il s'agit d'un destructeur implicitement déclaré
toutes les bases directe de la classe Ty ont des destructeurs triviaux.
les classes de toutes les données de membre non statique de type de classe ont des destructeurs triviaux.
les classes de toutes les données de membre non statique de type tableau de classe ont des 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>
Espace de noms : std
Voir aussi
Référence
has_trivial_constructor, classe
has_virtual_destructor, classe