integral_constant, classe, bool_constant, classe
Crée une constante intégrale à partir d’un type et d’une valeur.
Syntaxe
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;
};
Paramètres
T
Type de la constante.
v
Valeur de la constante.
Notes
Le integral_constant
modèle de classe, lorsqu’il est spécialisé avec un type intégral T et une valeur v de ce type, représente un objet qui contient une constante de ce type intégral avec la valeur spécifiée. Le membre nommé type
est un alias pour le type de spécialisation de modèle généré, et le membre value
contient la valeur v servant à créer la spécialisation.
Le bool_constant
modèle de classe est une spécialisation partielle explicite utilisée integral_constant
bool
comme argument T .
Exemple
// 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
Spécifications
Header :<type_traits>
Espace de noms : std