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
has_nothrow_constructor — Klasa
has_trivial_destructor — Klasa