Types fondamentaux (C++)
En C++, les types fondamentaux sont divisés en trois catégories : intégral, flottant, et void. Les types intégraux sont capables de gérer les nombres entiers. Les types virgule flottante peuvent spécifier des valeurs pouvant avoir des parties fractionnaires.
Le type void décrit un ensemble de valeurs vide. Aucune variable de type void ne peut être spécifiée. Ce type est surtout utilisé pour déclarer des fonctions qui ne retournent aucune valeur ou pour déclarer des pointeurs génériques vers des données non typées ou des données typées arbitrairement. Toute expression peut être convertie explicitement ou castée en type void. Toutefois, ces expressions sont limitées aux utilisations suivantes :
Instruction d'expression. (Pour plus d'informations, consultez Expressions.)
Opérande gauche de l'opérateur virgule. (Pour plus d'informations, consultez Opérateur virgule.)
Deuxième ou troisième opérande de l'opérateur conditionnel (? :). (Pour plus d'informations, consultez Expressions avec l'opérateur conditionnel.)
Le tableau suivant décrit les restrictions relatives aux tailles des types. Ces restrictions sont indépendantes de l'implémentation Microsoft.
Types fondamentaux du langage C++
Catégorie |
Type |
Sommaire |
---|---|---|
Intégral |
char |
Le type char est un type intégral qui contient généralement les membres du jeu de caractères d'exécution. Dans Microsoft C++, il s'agit du jeu ASCII. |
|
|
Le compilateur C++ traite les variables de type char, signed char et unsigned char comme ayant différents types. Les variables de type char sont promues en int car elles sont de type signed char par défaut, sauf si l'option de compilation /J est utilisée. Dans ce cas, elles sont traitées comme type unsigned char et sont promues en int sans extension de signature. |
|
bool |
Le type bool est un type intégral qui peut avoir l'une des deux valeurs true ou false. Sa taille n'est pas spécifiée. |
|
short |
Le type short int (ou simplement short) est un type intégral qui est supérieur ou égal à la taille du type char, et inférieur ou égal à la taille du type int. |
|
|
Les objets de type short peuvent être déclarés comme étant signed short ou unsigned short. Signed short est un synonyme de short. |
|
int |
Le type int est un type intégral qui est plus long que (ou égal à) la taille du type short int, et plus court que (ou égal à) la taille du type long. |
|
|
Les objets de type int peuvent être déclarés comme étant signed int ou unsigned int. Signed int est un synonyme de int. |
|
__intn |
Entier dimensionné, où n est la taille, en bits, de la variable entière. La valeur de n peut être 8, 16, 32 ou 64. (__intn est un mot clé propre à Microsoft.) |
|
long |
Le type long (ou long int) est un type intégral supérieur ou égal à la taille du type int. |
|
|
Les objets de type long peuvent être déclarés comme étant signed long ou unsigned long. Signed long est un synonyme de long. |
long long |
Supérieur à un unsigned long. |
|
Les objets de type long long peuvent être déclarés comme étant signed long long ou unsigned long long. Signed long long est un synonyme de long long. |
||
Virgule flottante |
float |
Le type float est le plus petit type virgule flottante. |
|
double |
Le type double est un type virgule flottante supérieur ou égal au type float, mais inférieur ou égal à la taille du type long double. |
|
long double1 |
Le type long double est un type virgule flottante égal au type double. |
Caractères larges |
__wchar_t |
Une variable de __wchar_t désigne un type caractères larges ou caractères multioctets. Par défaut, wchar_t est un type natif, mais vous pouvez utiliser /Zc:wchar_t- pour créer wchar_t un typedef pour unsigned short. Utilisez le préfixe L avant une constante caractère ou chaîne pour désigner la constante de type caractères larges. |
1 La représentation de long double et double est identique. Toutefois, long double et double sont des types distincts.
Section spécifique à Microsoft
Le tableau suivant répertorie la quantité de stockage requise pour les types fondamentaux dans Microsoft C++.
Tailles des types fondamentaux
Type |
Taille |
---|---|
bool |
1 octet |
char, unsigned char, signed char |
1 octet |
short, unsigned short |
2 octets |
int, unsigned int |
4 octets |
__intn |
8, 16, 32, 64 ou 128 bits selon la valeur de n. __intn est spécifique à Microsoft. |
long, unsigned long |
4 octets |
float |
4 octets |
double |
8 octets |
long double1 |
8 octets |
long long |
Équivalent à __int64. |
1 La représentation de long double et double est identique. Toutefois, long double et double sont des types distincts.
FIN de la section spécifique à Microsoft
Consultez les informations relatives aux plages de types de données pour obtenir un résumé de la plage de valeurs de chaque type.
Pour plus d'informations sur la conversion de type, consultez Conversions standard.