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