integral_constant (clase), bool_constant (clase)

 

Publicado: octubre de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Crea un entero constante de un tipo y valor.

estructura integral_constant {
valor estático constexpr T = v;
value_type (typedef) T;
integral_constant (typedef)<T, v=""></T,>
tipo;
constexpr operador value_type() const noexcept {return (valor);}
noexcept const constexpr value_type Operator() () {return (valor);}
};

Parámetros

T
Tipo de la constante.

v
Valor de la constante.

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

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

// 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  

Encabezado:<type_traits></type_traits>

Espacio de nombres: std

<type_traits> </type_traits>
false_type (typedef)
true_type (typedef)

Mostrar: