Namensräume
Varianten

std::integral_constant

Aus cppreference.com
< cpp‎ | types

 
 
 
Geben Sie Unterstützung
Grundtypen
Original:
Basic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Grundtypen
Feste Breite Integer-Typen(C++11)
Numerische Grenzen
Original:
Numeric limits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
numeric_limits
C numerische begrenzt Schnittstelle
Laufzeit-Typinformationen
Original:
Runtime type information
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Exterieur
Original:
Type traits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Primären Typ Kategorien
Original:
Primary type categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_void(C++11)
is_array(C++11)
is_pointer(C++11)
is_enum(C++11)
is_union(C++11)
is_class(C++11)
is_function(C++11)
is_reference(C++11)
is_lvalue_reference(C++11)
is_rvalue_reference(C++11)
is_member_pointer(C++11)
is_member_object_pointer(C++11)
is_member_function_pointer(C++11)
Typ Eigenschaften
Original:
Type properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_const(C++11)
is_volatile(C++11)
is_pod(C++11)
is_empty(C++11)
is_polymorphic(C++11)
is_abstract(C++11)
Unterstützte Operationen
Original:
Supported operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_constructible
is_trivially_constructible
is_nothrow_constructible
(C++11)
(C++11)
(C++11)
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
(C++11)
(C++11)
(C++11)
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
(C++11)
(C++11)
(C++11)
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
(C++11)
(C++11)
(C++11)
is_assignable
is_trivially_assignable
is_nothrow_assignable
(C++11)
(C++11)
(C++11)
is_copy_assignable
is_trivially_copy_assignable
is_nothrow_copy_assignable
(C++11)
(C++11)
(C++11)
is_move_assignable
is_trivially_move_assignable
is_nothrow_move_assignable
(C++11)
(C++11)
(C++11)
is_destructible
is_trivially_destructible
is_nothrow_destructible
(C++11)
(C++11)
(C++11)
has_virtual_destructor(C++11)
Beziehungen und Eigentum Abfragen
Original:
Relationships and property queries
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_same(C++11)
is_base_of(C++11)
is_convertible(C++11)
alignment_of(C++11)
rank(C++11)
extent(C++11)
Typ Modifikationen
Original:
Type modifications
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Typ Transformationen
Original:
Type transformations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
aligned_storage(C++11)
aligned_union(C++11)
decay(C++11)
enable_if(C++11)
Typ-Trait-Konstanten
Original:
Type trait constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
integral_constant(C++11)
 
definiert in Header <type_traits>
template<class T, T v >
struct integral_constant;
(seit C++11)
std::integral_constant wickelt eine statische Konstante des angegebenen Typs. Es ist die Basisklasse für die C + + Exterieur .
Original:
std::integral_constant wraps a static constant of specified type. It is the base class for the C++ type traits.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Zwei Spezialisierungen für die Art bool sind vorgesehen:
Original:
Two specializations for the type bool are provided:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
definiert in Header <type_traits>
Type
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
true_typestd::integral_constant<bool, true>
false_typestd::integral_constant<bool, false>

Inhaltsverzeichnis

[Bearbeiten]Mitglied Typen

Type
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
value_typeT
typestd::integral_constant<T,v>

[Bearbeiten]Mitglied Konstanten

Name
Original:
Name
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Value
value
statische Konstante Ausdruck des Typs T mit dem Wert v
Original:
static constant expression of type T with value v
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[Bearbeiten]Member-Funktionen

operator value_type
wandelt das Objekt value_type, gibt value
Original:
converts the object to value_type, returns value
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(öffentliche Elementfunktion)

[Bearbeiten]Mögliche Implementierung

template<class T, T v>struct integral_constant {staticconstexpr T value = v;typedef T value_type;typedef integral_constant type;constexpr operator value_type()const{return value;}};

[Bearbeiten]Beispiel

#include <iostream>#include <type_traits>   int main(){typedef std::integral_constant<int, 2> two_t;typedef std::integral_constant<int, 4> four_t;   // static_assert(std::is_same<two_t, four_t>::value,// "two_t and four_t are not equal!"); // error: static assertion failed: "two_t and four_t are not a same types"   static_assert(two_t::value*2== four_t::value, "2*2 != 4");   enumclass my_e { e1, e2 };typedef std::integral_constant<my_e, my_e::e1> my_e_e1;typedef std::integral_constant<my_e, my_e::e2> my_e_e2;   // static_assert(my_e_e1::value == my_e::e2,// "my_e_e1::value != my_e::e2");// error: static assertion failed: "my_e_e1::value != my_e::e2"   static_assert(std::is_same<my_e_e2, my_e_e2>::value, "my_e_e2 != my_e_e2");}


close