Partager via


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

Voir aussi

<type_traits>
false_type
true_type