__int8、__int16、__int32、__int64

Microsoft 固有の仕様

Microsoft C/C++ の機能では、サイズ設定された整数型をサポートします。 __intN 型指定子を使用して、8、16、32、または 64 ビットの整数変数を宣言できます。ここで、N は 8、16、32、または 64 です。

次の例は、サイズ設定された整数のこれらの型のそれぞれに 1 つの変数を宣言しています。

__int8 nSmall;      // Declares 8-bit integer
__int16 nMedium;    // Declares 16-bit integer
__int32 nLarge;     // Declares 32-bit integer
__int64 nHuge;      // Declares 64-bit integer

__int8__int16、および __int32 は、同じサイズを持つ ANSI 型のシノニムであり、複数のプラットフォームで同じように動作する移植性のあるコードを作成する場合に便利です。 __int8 データ型は、型 char と同じ意味です。__int16 は、型 short と同じ意味です。__int32 は、型 int と同じ意味です。 __int64 型は、型 long long と同義です。

以前のバージョンとの互換性を確保するために、コンパイラ オプション /Za (言語拡張機能の無効化) が指定されていない限り、_int8_int16_int32、および _int64__int8__int16__int32、および __int64 と同義です。

次の例は、__intN パラメーターが 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

関連項目

キーワード
組み込みの型
データ型の範囲