Freigeben über


integral_constant Class, bool_constant-Klasse

Wandelt einen Typ und einen Wert in eine Ganzzahlkonstante um.

Syntax

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;
   };

Parameter

T
Der Typ der Konstante.

v
Der Wert der Konstante.

Hinweise

Die integral_constant Klassenvorlage, wenn sie mit einem integralen Typ T und einem Wert v dieses Typs spezialisiert ist, stellt ein Objekt dar, das eine Konstante dieses integralen Typs mit dem angegebenen Wert enthält. Beim Member type handelt es sich um ein Alias des erstellten Vorlagenspezialisierungstypen, und der Member value hält den Wert v, der beim Erstellen der Spezialisierung verwendet wurde.

Die bool_constant Klassenvorlage ist eine explizite Teilspezialisierung, die integral_constant als T-Argument verwendet wirdbool.

Beispiel

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

Anforderungen

Header:<type_traits>

Namespace: std

Siehe auch

<type_traits>
false_type
true_type