std::underlying_type
De cppreference.com
[] |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody>| Dclar dans l'en-tte <type_traits>
|
||
template< class T > struct underlying_type; |
(depuis C++11) | |
Dfinit un
type membre de typedef type qui est le type sous-jacent de l'numration T . Original:
Defines a member typedef
type of type that is the underlying type for the enumeration T. The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Types de 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. |
Definition |
type
|
le type sous-jacent de
T Original: the underlying type for T The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Notes
Chaque type d'numration est un type de sous-jacent, qui peut tre
Original:
Each enumeration type has an underlying type, which can be
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
1. Spcifie explicitement ( la fois porte et les numrations sans porte)
Original:
1. Specified explicitly (both scoped and unscoped enumerations)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
2. Omis, auquel cas il est
int pour les numrations de porte ou d'un type dfini par la mise en uvre intgrale capable de reprsenter toutes les valeurs de l'numration (pour les numrations sans porte)Original:
2. Omitted, in which case it is
int for scoped enumerations or an implementation-defined integral type capable of representing all values of the enum (for unscoped enumerations)The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Exemple
#include <iostream>
#include <type_traits>
enum e1 {};
enum class e2: int {};
int main() {
bool e1_type = std::is_same<
unsigned
,typename std::underlying_type<e1>::type
>::value;
bool e2_type = std::is_same<
int
,typename std::underlying_type<e2>::type
>::value;
std::cout
<< "underlying type for 'e1' is " << (e1_type?"unsigned":"non-unsigned") << '\n'
<< "underlying type for 'e2' is " << (e2_type?"int":"non-int") << '\n';
}
Rsultat :
underlying type for 'e1' is unsigned
underlying type for 'e2' is int