Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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