Partager via


has_trivial_constructor, classe

Teste si le type possède un constructeur trivial par défaut.

template<class Ty>
    struct has_trivial_constructor;

Paramètres

  • Ty
    Le type à requêter.

Notes

Une instance de l'attribut de type contient la valeur vrai si le type Ty est une classe qui possède un constructeur trivial, sinon il contient faux.

Un constructeur de la classe Ty est trivial si :

il s'agit d'un constructeur par défaut déclaré implicitement

la classe Ty n'a aucune fonction virtuelle

la classe Ty n'a aucune base virtuelle

toutes les bases directe de la classe Ty ont des constructeurs triviaux.

les classes de toutes les données de membre non statiques de type de classe ont des constructeurs triviaux.

les classes de toutes les données de membre non statiques de type tableau de classe ont des constructeurs triviaux.

Exemple

 

// std_tr1__type_traits__has_trivial_constructor.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) 
        { 
        } 
 
    int val; 
    }; 
 
int main() 
    { 
    std::cout << "has_trivial_constructor<trivial> == " << std::boolalpha 
        << std::has_trivial_constructor<trivial>::value << std::endl; 
    std::cout << "has_trivial_constructor<throws> == " << std::boolalpha 
        << std::has_trivial_constructor<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_nothrow_constructor, classe

has_trivial_destructor, classe

Autres ressources

<type_traits> membres