__int8, __int16, __int32, __int64
Specifické pro Microsoft
Jazyk Microsoft C/C++ obsahuje podporu pro celočíselné typy s velikostí. Můžete deklarovat 8bitové, 16bitové, 32bitové nebo 64bitové celočíselné proměnné pomocí specifikátoru __intN
typu, kde N
je 8, 16, 32 nebo 64.
Následující příklad deklaruje jednu proměnnou pro každý z těchto celočíselných typů s velikostí:
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
Typy __int8
, __int16
a __int32
jsou synonymy pro typy ANSI, které mají stejnou velikost, a jsou užitečné pro psaní přenosného kódu, který se chová stejně na různých platformách. Datový __int8
typ je synonymem typu char
, __int16
je synonymem typu short
a __int32
je synonymem typu int
. Typ __int64
je synonymem typu long long
.
Z důvodu kompatibility s předchozími verzemi , , , a jsou synonyma pro __int8
, __int32
__int16
, a __int64
pokud není zadána možnost/Za
kompilátoru (Zakázat jazyková rozšíření). _int64
_int32
_int16
_int8
Příklad
Následující ukázka ukazuje, že __intN
parametr bude povýšen na 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