Udostępnij za pośrednictwem


has_trivial_constructor — Klasa

Badania, jeśli typ ma trivial domyślnego konstruktora.

template<class Ty>
    struct has_trivial_constructor;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

Wystąpienie typu predykat posiada wartość PRAWDA, jeśli typ Ty jest klasą, która posiada trivial Konstruktor, inaczej przechowuje wartość false.

Konstruktor klasy Ty jest trivial jeśli:

to jest niejawnie zadeklarowanej domyślnego konstruktora

Klasa Ty nie ma wirtualnego funkcji

Klasa Ty ma nie baz wirtualnych

wszystkie bezpośrednie podstawy klasy Ty mieć konstruktorów trivial

klasy wszystkich członków danych statycznych typu klasy mają trivial konstruktory

klasy wszystkich członków danych statycznych typu tablicy klasy mają trivial konstruktory

Przykład

 

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

Wymagania

Nagłówek: <type_traits>

Przestrzeń nazw: std

Zobacz też

Informacje

<type_traits>

has_nothrow_constructor — Klasa

has_trivial_destructor — Klasa

Inne zasoby

<type_traits> Członkowie