Sdílet prostřednictvím


has_trivial_constructor Class

Zkoušky, pokud má typ trivial výchozí konstruktor.

template<class Ty>
    struct has_trivial_constructor;

Parametry

  • Ty
    Typ dotazu.

Poznámky

Instanci typu predikát obsahuje PRAVDA, pokud typ Ty je třída, která má trivial konstruktor, jinak má hodnotu false.

Konstruktor třídy Ty je triviální pokud:

je implicitně deklarovaný výchozí konstruktor.

Třída Ty nemá žádné virtuální funkce

Třída Ty nemá žádné virtuální základů

všechny přímé založí třídy Ty mít konstruktory bezvýznamné.

třídy všech členů dat nestatický typ třídy mít konstruktory bezvýznamné.

třídy všech členů nestatický data pole Typ třídy mít konstruktory bezvýznamné.

Příklad

 

// 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); 
    } 
 
  

Požadavky

Záhlaví: <type_traits>

Obor názvů: std

Viz také

Referenční dokumentace

<type_traits>

has_nothrow_constructor Class

has_trivial_destructor Class

Další zdroje

<type_traits> Členové