__int8, __int16, __int32, __int64
Spécifique à Microsoft
Microsoft C/C++ a des fonctionnalités de prise en charge des types entiers dimensionnés. Déclarez des variables entières à 8-, 16-, 32-, ou 64 bits à l'aide du spécificateur de type __intn, n étant 8, 16, 32, ou 64.
L'exemple suivant déclare une variable pour chacun de ces types d'entiers dimensionnés :
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
Les types __int8, __int16et __int32, sont des synonymes pour les types ANSI qui ont la même taille, et sont utiles pour écrire du code portable qui se comporte identiquement sur plusieurs plateformes. Le type de données __int8 est synonyme avec le type char, __int16 est synonyme avec le type short, et __int32 est synonyme avec le type int. Le type __int64 n'a aucun équivalent ANSI.
Exemple
L'exemple suivant indique qu'un paramètre __intxx sera promu à int:
// sized_int_types.cpp
#include <stdio.h>
void func(int i) {
printf_s("%s\n", __FUNCTION__);
}
int main()
{
__int8 i8 = 100;
func(i8); // no void func(__int8 i8) function
// __int8 will be promoted to int
}