La función is_trivial se usa para verificar si el tipo T dado es una clase trivial o no. Es una plantilla declarada en el archivo de encabezado <type_traits> . Un tipo trivial es un tipo cuyo almacenamiento es contiguo (trivialmente copiable) y que solo admite la inicialización predeterminada estática (trivialmente predeterminada construible), ya sea cv-calificado o no. Incluye tipos escalares, clases triviales y arreglos de cualquiera de esos tipos.
Una clase trivial es una clase (definida con class, struct o union) que es a la vez construible y copiable de forma trivial por defecto, lo que implica que:
Utiliza los constructores por defecto, copiar y mover, las asignaciones de copiar y mover y el destructor definidos implícitamente.
- No tiene miembros virtuales.
- No tiene miembros de datos no estáticos con inicializadores de llaves o iguales.
- Su clase base y los miembros de datos no estáticos (si los hay) también son tipos triviales.
is_trivial hereda de integral_constant como true_type o false_type, dependiendo de si T es un tipo trivial.
Sintaxis:
template struct is_trivial;
Ejemplo:
std::is_trivial::value
CPP
// CPP program to illustrate is_trivial function #include <iostream> #include <type_traits> using namespace std; class A { }; class B { B() {} }; class C : B { }; class D { virtual void fn() {} }; // Driver Code int main() { std::cout << std::boolalpha; // Returns value in boolean type std::cout << "A: " << std::is_trivial<A>::value << endl; std::cout << "B: " << std::is_trivial<B>::value << endl; std::cout << "C: " << std::is_trivial<C>::value << endl; std::cout << "D: " << std::is_trivial<D>::value << endl; return 0; }
A: true B: false C: false D: false
Aquí, A es una clase que se ha pasado como parámetro a la función is_trivial y devolverá un valor de tipo constante integral bool, es decir, verdadero o falso.
Este artículo es una contribución de Mohak Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA