std::underlying_type en C++ con ejemplo

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;
}
Producción:

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *