Espaces de noms
Variantes
Actions

std::integral_constant

De cppreference.com
< cpp‎ | types

 
 
 
Soutien aux types fondamentaux
Les types de base
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.
Types fondamentaux
Fixe les types entiers largeur (C++11)
Limites numériques
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 numérique limite interface
Informations sur le type d'exécution
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.
Caractères de type
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.
Catégories de type primaire
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_object (C++11)
is_scalar (C++11)
is_compound (C++11)
is_integral (C++11)
is_floating_point (C++11)
is_fundamental (C++11)
is_arithmetic (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)
Les propriétés du type
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)
Opérations prises en charge
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)
Les relations et les requêtes de propriété
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)
Modifications de type
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.
remove_cv
remove_const
remove_volatile
(C++11)
(C++11)
(C++11)
add_cv
add_const
add_volatile
(C++11)
(C++11)
(C++11)
make_signed (C++11)
make_unsigned (C++11)
Transformations de type
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)
conditional (C++11)
common_type (C++11)
underlying_type (C++11)
result_of (C++11)
Tapez constantes traits
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)
 
Déclaré dans l'en-tête <type_traits>
template<class T, T v >
struct integral_constant;
(depuis C++11)
std::integral_constant encapsule une constante statique du type spécifié. Il s'agit de la classe de base pour les caractères de C + + .
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.
Deux spécialisations pour la bool type sont fournis:
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.
Defined in header <type_traits>
Type d'
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>

Sommaire

[modifier]Types de membres

Type d'
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>

[modifier]Constantes membres

Nom
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
statique expression constante de type avec Tv valeur
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.

[modifier]Fonctions membres

operator value_type
convertit l'objet en value_type, retourne 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.

(fonction membre publique)

[modifier]Mise en œuvre possible

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

[modifier]Exemple

#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