La plantilla std::underlying_type de C++ STL está presente en el archivo de encabezado <type_traits>. La plantilla std::underlying_type de C++ STL se usa para obtener el tipo subyacente del tipo de enumeración T .
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template <class T> struct underlying_type;
Sintaxis:
std::underlying_type<class T>::value
Parámetro: La plantilla std::underlying_type acepta un único parámetro T(Trait class) .
Valor devuelto: la plantilla std::underlying_type devuelve el tipo subyacente del tipo de enumeración T.
A continuación se muestra el programa para demostrar std::underlying_type en C++ :
Programa:
// C++ program to illustrate // std::underlying_type #include <bits/stdc++.h> #include <type_traits> using namespace std; // ENUM Class GFG enum GFG {}; // Class gfg enum class gfg : int {}; // Driver Code int main() { bool GFG1 = is_same<unsigned, typename underlying_type<GFG>::type>::value; bool gfg1 = is_same<int, typename underlying_type<gfg>::type>::value; cout << "underlying type for 'GFG' is " << (GFG1 ? "unsigned" : "non-unsigned") << endl; cout << "underlying type for 'gfg' is " << (gfg1 ? "int" : "non-int") << endl; return 0; }
underlying type for 'GFG' is unsigned underlying type for 'gfg' is int
Referencia: http://www.cplusplus.com/reference/type_traits/underlying_type/
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