Udostępnij za pośrednictwem


has_trivial_constructor Class

Testy, jeśli typ jest trywialny domyślnego konstruktora.

template<class Ty>
    struct has_trivial_constructor;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

Wystąpienie predykat typu posiada true, jeśli typ Ty jest klasa, która posiada trywialny Konstruktor, inaczej przechowuje wartość false.

Konstruktora dla klasy Ty jest trywialny jeśli:

jest ona deklarowana niejawnie domyślnego konstruktora

Klasa Ty ma żadnych funkcji wirtualnych

Klasa Ty ma nie podstaw wirtualnych

wszystkie bezpośrednie podstaw klasy Ty mieć konstruktorów trywialny

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

klasy wszystkich członków-statycznej danych 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>

Obszar nazw: std

Zobacz też

Informacje

<type_traits>

has_nothrow_constructor Class

has_trivial_destructor Class

Inne zasoby

<type_traits> Członkowie