__int8, __int16, __int32, __int64
Specifico di Microsoft
Le funzionalità di Microsoft C/C++ supportano i tipi Integer ridimensionati. È possibile dichiarare variabili integer a 8, 16, 32 o a 64 bit usando l'identificatore __intN
di tipo, dove N
è 8, 16, 32 o 64.
Nell'esempio seguente viene dichiarata una variabile per ognuno dei quattro tipi Integer ridimensionati:
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
I tipi __int8
, __int16
e __int32
sono sinonimi per i tipi ANSI con le stesse dimensioni e sono utili per la scrittura di codice portabile che si comporta in modo identico tra più piattaforme. Il __int8
tipo di dati è sinonimo di tipo char
, __int16
è sinonimo di tipo short
e __int32
è sinonimo di tipo int
. Il __int64
tipo è sinonimo di tipo long long
.
Per la compatibilità con le versioni precedenti, _int8
, _int16
_int32
, e _int64
sono sinonimi per __int8
, __int16
, __int32
e__int64
, a meno che non sia specificata l'opzione /Za
del compilatore (Disabilita estensioni del linguaggio).
Esempio
L'esempio seguente mostra che un __intN
parametro verrà alzato di livello a 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
}
func