Sdílet prostřednictvím


has_trivial_constructor – třída

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

template<class Ty>
    struct has_trivial_constructor;

Parametry

  • Ty
    Typ dotazu.

Poznámky

Instance typu predikát obsahuje true Pokud typ Ty je třída, která má triviální konstruktor, jinak má hodnotu false.

Konstruktor pro třídu Ty je triviální-li:

je implicitně deklarovaný výchozí konstruktor.

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

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

všechny přímé základy třídy Ty mít triviální konstruktory

třídy všech členů dat nestatickou třídu typu mají triviální konstruktory

třídy všech členů dat nestatické pole typu třídy mají triviální konstruktory

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 – třída

has_trivial_destructor – třída

Další zdroje

<type_traits> Členové