Classe has_trivial_constructor
Testa se o tipo tem o construtor padrão trivial.
template<class Ty>
struct has_trivial_constructor;
Parâmetros
- Ty
O tipo para consulte.
Comentários
Uma instância do predicado do tipo se aplica se o tipo Ty é uma classe que tem um construtor trivial, se não mantém false.
Um construtor para uma classe Ty é trivial se:
é um construtor padrão declarado implicitamente
a classe Ty não tem nenhuma função virtual
a classe Ty não tem nenhuma base virtual
todas as bases diretas da classe Ty têm construtores triviais
as classes de todos os membros de dados que não sejam do tipo estático da classe têm construtores triviais
as classes de todos os membros de dados que não sejam estáticos de matriz do tipo de classe têm construtores triviais
Exemplo
// 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);
}
Requisitos
Cabeçalho: <type_traits>
Namespace: std
Consulte também
Referência
Classe has_nothrow_constructor