La plantilla std::is_default_construtible de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_default_construtible de C++ STL se usa para verificar si la T es construible por defecto o no. Un construible predeterminado se puede construir sin argumentos o valores de inicialización. Devuelve el valor booleano verdadero si T es el tipo construible predeterminado; de lo contrario, devuelve falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template <class T> struct is_default_constructible;
Sintaxis:
std::is_default_constructible>class T> ::value
Parámetros: la plantilla std::is_default_constructible acepta un solo parámetro T (clase de rasgo) para verificar si T es el tipo constructivo predeterminado o no.
Valor devuelto: esta plantilla devuelve una variable booleana como se muestra a continuación:
- Verdadero: si el tipo T es construible por defecto.
- Falso: si el tipo T no es construible por defecto.
A continuación se muestra el programa para ilustrar la plantilla std::is_default_construcible en C/C++:
Programa:
// C++ program to illustrate // std::is_default_constructible #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare structures struct A { }; struct B { int n; B() = default; }; // Class class classA { ~classA() = delete; }; // Inherited class class classB : classA { }; // Driver Code int main() { cout << boolalpha; // Check if int is default constructible? cout << "int : " << is_default_constructible<int>::value << endl; // Check if struct A is default constructible? cout << "struct A: " << is_default_constructible<A>::value << endl; // Check if struct B is default constructible? cout << "struct B: " << is_default_constructible<B>::value << endl; // Check if classA is default constructible? cout << "classA: " << is_default_constructible<classA>::value << endl; // Check if classB is default constructible? cout << "classB: " << is_default_constructible<classB>::value << endl; return 0; }
int : true struct A: true struct B: true classA: false classB: false
Referencia: http://www.cplusplus.com/reference/type_traits/is_default_construtible/
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