La plantilla std::is_union de C++ STL se usa para verificar si el tipo dado es unión o no. Devuelve un valor booleano que muestra lo mismo.
Sintaxis :
template <class T> struct is_union;
Parámetro: esta plantilla acepta un solo parámetro T (clase de rasgo) para verificar si T es una unión o no.
Valor devuelto : esta plantilla devuelve un valor booleano como se muestra a continuación:
- Verdadero: si un tipo es una clase de unión.
- Falso: si un tipo es una clase no sindicalizada.
Los siguientes programas ilustran la plantilla std::is_union en C++:
Programa 1: :
// C++ program to illustrate // is_union template #include <iostream> #include <type_traits> using namespace std; struct GFG1 { }; union GFG2 { int var1; float var2; }; int main() { cout << boolalpha; cout << "is_union:" << endl; cout << "GFG1: " << is_union<GFG1>::value << endl; cout << "GFG2: " << is_union<GFG2>::value << endl; return 0; }
Producción:
is_union: GFG1: false GFG2: true
Programa 2 :
// C++ program to illustrate // is_union template #include <iostream> #include <type_traits> using namespace std; union GFG1 { int var1; float var2; char var3; }; struct GFG2 { union { int var4; float var5; }; }; int main() { cout << boolalpha; cout << "is_union:" << endl; cout << "int: " << is_union<int>::value << endl; cout << "GFG1: " << is_union<GFG1>::value << endl; cout << "GFG2: " << is_union<GFG2>::value << endl; return 0; }
Producción:
is_union: int: false GFG1: true GFG2: false
Publicación traducida automáticamente
Artículo escrito por rajasethupathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA