La plantilla std::is_trivially_construcible de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_trivially_construcible de C++ STL se usa para verificar si el tipo T dado es un tipo trivialmente construible con el conjunto de argumentos o no. Devuelve el valor booleano verdadero si T es un tipo trivialmente construible, de lo contrario devuelve falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template <class T, class.. Args> struct is_trivially_constructible;
Sintaxis:
std::is_trivially_constructible::value
Parámetros: La plantilla std::is_trivially_construcible acepta dos parámetros:
- T: un tipo de datos o una array de límite desconocido.
- Args: una lista de tipos de datos que representan los tipos de argumentos para el formulario del constructor, en el mismo orden que en el constructor.
Valor devuelto: esta plantilla devuelve una variable booleana como se muestra a continuación:
- Verdadero: si el tipo T es un tipo trivialmente construible.
- Falso: si el tipo T no es un tipo trivialmente construible.
A continuación se muestra el programa para ilustrar la plantilla std::is_trivially_construcible en C/C++:
Programa 1:
// C++ program to illustrate // std::is_trivially_constructible #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare structures struct Ex1 { std::string str; }; struct Ex2 { int n; Ex2() = default; }; struct A { // Constructor A(int, int){}; }; // Driver Code int main() { cout << boolalpha; // Check if Ex1 is a trivally // constructible or not cout << "Ex1: " << is_trivially_constructible<Ex1>::value << endl; // Check if struct Ex2 is a trivally // constructible or not cout << "Ex2: " << is_trivially_constructible<Ex2>::value << endl; // Check if A(int, float) is a trivally // constructible or not cout << "A(int, int): " << is_trivially_constructible<A(int, int)>::value << endl; return 0; }
Ex1: false Ex2: true A(int, int): false
Programa 2:
// C++ program to illustrate // std::is_trivially_constructible #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare structures struct X { }; struct Y { // Default Constructor Y() {} // Parameterized Constructor Y(const X&) noexcept {} }; // Driver Code int main() { cout << boolalpha; // Check if int is a trivally // constructible or not cout << "int(): " << is_trivially_constructible<int>::value << endl; // Check if struct Y is a trivally // constructible or not cout << "Y(): " << is_trivially_constructible<Y>::value << endl; // Check if Y(X) is a trivally // constructible or not cout << "Y(X): " << is_trivially_constructible<Y, X>::value << endl; return 0; }
int(): true Y(): false Y(X): false
Referencia: http://www.cplusplus.com/reference/type_traits/is_trivially_construcible/
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA