La plantilla std::is_destructible de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_destructible de C++ STL se utiliza para comprobar si la T es destructible o no. Una clase se llama destructible cuyo destructor no se elimina y es potencialmente accesible en clases derivadas. Devuelve el valor booleano verdadero si T es de tipo destructible, de lo contrario devuelve falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template< class T > struct is_destructible;
Sintaxis:
std::is_destructible<T>::value
Parámetro: La plantilla std::is_destructible acepta un solo parámetro T (clase de rasgo) para verificar si T es de tipo destructible o no.
Valor devuelto: La plantilla std::is_destructible devuelve una variable booleana como se muestra a continuación:
- Verdadero: si el tipo T es un tipo destructible.
- Falso: si el tipo T no es un tipo destructible.
A continuación se encuentran los programas para demostrar std::is_destructible en C++:
Programa:
// C++ program to illustrate // std::is_destructible #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare a structures struct X { }; struct Y { // Destructors ~Y() = delete; }; struct Z { ~Z() = default; }; struct A : Y { }; // Driver Code int main() { cout << boolalpha; // Check if int is destructible // or not cout << "int is destructible? " << is_destructible<int>::value << endl; // Check if float is destructible // or not cout << "float is destructible? " << is_destructible<float>::value << endl; // Check if struct X is // destructible or not cout << "struct X is destructible? " << is_destructible<X>::value << endl; // Check if struct Y is // destructible or not cout << "struct Y is destructible? " << is_destructible<Y>::value << endl; // Check if struct Z is // destructible or not cout << "struct Z is destructible? " << is_destructible<Z>::value << endl; // Check if struct A is // destructible or not cout << "struct A is destructible? " << is_destructible<A>::value << endl; return 0; }
int is destructible? true float is destructible? true struct X is destructible? true struct Y is destructible? false struct Z is destructible? true struct A is destructible? false
Referencia: http://www.cplusplus.com/reference/type_traits/is_destructible/
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