Partager via


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

<type_traits>

has_trivial_constructor, classe

has_virtual_destructor, classe

Autres ressources

<type_traits> membres