Compartir vía


integral_constant (Clase), bool_constant (Clase)

Crea una constante entera a partir de un tipo y un valor.

Sintaxis

template<class T, T v>
struct integral_constant {
   static constexpr T value = v;
   typedef T value_type;
   typedef integral_constant<T, v> type;
   constexpr operator value_type() const noexcept;
   constexpr value_type operator()() const noexcept;
   };

Parámetros

T
Tipo de la constante.

v
Valor de la constante.

Comentarios

La plantilla de clase integral_constant, si está especializada con un tipo entero T y un valor v de ese tipo, representa un objeto que es una constante de ese tipo entero con el valor especificado. El miembro denominado type es un alias para el tipo de especialización de la plantilla generada y el miembro value contiene el valor v usado para crear la especialización.

La plantilla de clase bool_constant es una especialización parcial explícita de integral_constant que usa bool como argumento T.

Ejemplo

// std__type_traits__integral_constant.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>

int main()
    {
    std::cout << "integral_constant<int, 5> == "
        << std::integral_constant<int, 5>::value << std::endl;
    std::cout << "integral_constant<bool, false> == " << std::boolalpha
        << std::integral_constant<bool, false>::value << std::endl;

    return (0);
    }
integral_constant<int, 5> == 5
integral_constant<bool, false> == false

Requisitos

Encabezado:<type_traits>

Espacio de nombres: std

Consulte también

<type_traits>
false_type
true_type