Partager via


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 :

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.

Voir aussi

Référence

Plages de types de données

Autres ressources

Types