has_trivial_constructor Class

Comprueba si el tipo tiene el constructor predeterminado trivial.

template<class Ty>
    struct has_trivial_constructor;

Parámetros

  • Ty
    El tipo a ver.

Comentarios

Una instancia de predicado de tipo es true si el tipo Ty es una clase que tiene un constructor trivial, si no se considera false.

un constructor para una clase Ty es trivial si:

es un constructor predeterminado implícito declarado

la clase Ty no tiene ninguna función virtual

la clase Ty no tiene ninguna base virtual

todas las bases directas de la clase Ty tienen constructores triviales

las clases de todos los miembros de datos estáticos de tipo de clase tienen constructores triviales

las clases de todos los miembros de datos estáticos de matriz de clase tienen constructores triviales

Ejemplo

 

// 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

encabezado: <type_traits>

espacio de nombres: std

Vea también

Referencia

<type_traits>

has_nothrow_constructor Class

has_trivial_destructor Class

Otros recursos

miembros de <type_traits>