組み込み型 (C++)
組み込み型 (基本型とも呼ばれます) は、C++ 言語標準によって指定され、コンパイラに組み込まれています。 組み込み型は、どのヘッダー ファイルでも定義されていません。 組み込み型は、整数、浮動小数点、および void の 3 つの主なカテゴリに分類されます。 整数型は、整数を表します。 浮動小数点型では、小数部を含む可能性のある値を指定できます。 多くの組み込み型は、コンパイラによって個別の型として扱われます。 ただし、一部の型はシノニムであるか、またはコンパイラによって同等の型として扱われます。
void 型
void
型は一連の空の値を示します。 void
型の変数を指定することはできません。 void
型は、値を返さない関数を宣言したり、型指定しないデータまたは任意の型のデータへのジェネリック ポインターを宣言したりする場合に主に使用します。 式は、 void
型に明示的に変換するか、またはキャストできます。 ただし、このような式は次の用途に制限されています。
式ステートメント (詳細については、「式」を参照してください。)
コンマ演算子の左のオペランド (詳細については、「コンマ演算子」を参照してください。)
条件演算子の 2 番目または 3 番目のオペランド (
? :
) (詳細については、「条件演算子を含む式」を参照してください。)
std::nullptr_t
キーワード nullptr
は、任意の生ポインター型に変換可能な std::nullptr_t
型の null ポインター定数です。 詳細については、nullptr
を参照してください。
ブール型
bool
型には、値の true
と false
を指定できます。 bool
型のサイズは実装に固有のものです。 Microsoft 固有の実装の詳細については、「組み込み型のサイズ」を参照してください。
文字型
char
型は、基本実行文字セットのメンバーを効率的にエンコードする文字表現型です。 C++ コンパイラは、 char
, signed char
、および unsigned char
型の変数をそれぞれ異なる型の変数として処理します。
Microsoft 固有: char
型の変数は、/J
コンパイル オプションが使用されていない限り、signed char
型の場合のように既定で int
に上位変換されます。 この場合、それらは unsigned char
型として扱われ、符号拡張なしで int
に上位変換されます。
wchar_t
型の変数はワイド文字またはマルチバイト文字型です。 ワイド文字型を指定するには、文字や文字列リテラルの前に L
のプレフィックスを使用します。
Microsoft 固有: 既定で wchar_t
はネイティブ型ですが、/Zc:wchar_t-
を使用して wchar_t
を unsigned short
の typedef にすることができます。 __wchar_t
型は、ネイティブ wchar_t
型の Microsoft 固有のシノニムです。
char8_t
型は、UTF-8 文字表現に使用されます。 これは unsigned char
と同じ表現を持ちますが、コンパイラによって個別の型として扱われます。 char8_t
型は C++20 で新しく追加されたものです。 Microsoft 固有: char8_t
を使用するには、/std:c++20
コンパイラ オプションまたはそれ以降 (/std:c++latest
など) が必要です。
char16_t
型は、UTF-16 文字表現に使用されます。 UTF-16 コード単位を表すのに十分な大きさである必要があります。 これは、コンパイラによって個別の型として扱われます。
char32_t
型は、UTF-32 文字表現に使用されます。 UTF-32 コード単位を表すのに十分な大きさである必要があります。 これは、コンパイラによって個別の型として扱われます。
浮動小数点型
浮動小数点型は、IEEE-754 表現を使用して、さまざまな大きさの小数値の近似値を示します。 次の表では、C++ での浮動小数点型と、浮動小数点型のサイズに関する制限を比較して示しています。 これらの制限は、C++ 標準によって義務付けられており、Microsoft の実装には依存していません。 組み込み浮動小数点型の絶対サイズは、標準では指定されていません。
Type | コンテンツ |
---|---|
float |
float 型は C++ で最小の浮動小数点型です。 |
double |
double 型は float 型のサイズ以上で、 long double 型のサイズ以下の浮動小数点型です。 |
long double |
long double 型は、 double 型以上の浮動小数点型です。 |
Microsoft 固有: long double
と double
の表現は同じです。 ただし、long double
と double
はコンパイラによって個別の型として扱われます。 Microsoft C++ コンパイラは、4 バイトと 8 バイトの IEEE-754 浮動小数点の表現を使用します。 詳細については、「IEEE 浮動小数点表現」を参照してください。
整数型
int
型は、既定の基本整数型です。 それは実装に固有の範囲のすべての整数を表すことができます。
符号付き整数の表現とは、正と負の両方の値を保持できる値のことです。 それは既定で使用されるか、または signed
修飾子キーワードが存在する場合に使用されます。 unsigned
修飾子キーワードは、負以外の値のみを保持できる、符号なしの表現を指定します。
サイズ修飾子は、使用する整数表現の幅をビット単位で指定します。 この言語では、short
、long
、および long long
修飾子がサポートされています。 short
型は、16 ビット幅以上である必要があります。 long
型は、32 ビット幅以上である必要があります。 long long
型は、64 ビット幅以上である必要があります。 標準では、整数型の間のサイズの関係が指定されています。
1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
実装では、各型の最小サイズの要件とサイズの関係の両方が維持されている必要があります。 ただし、実際のサイズは、実装によって異なります。 Microsoft 固有の実装の詳細については、「組み込み型のサイズ」を参照してください。
signed
、unsigned
、またはサイズ修飾子が指定されている場合、int
キーワードは省略できます。 修飾子と int
型 (存在する場合) は、どのような順序でも表示される可能性があります。 たとえば、short unsigned
と unsigned int short
は同じ型を参照します。
整数型のシノニム
次の一連の型は、コンパイラによってシノニムと見なされます。
short
,short int
,signed short
,signed short int
unsigned short
,unsigned short int
int
,signed
,signed int
unsigned
,unsigned int
long
,long int
,signed long
,signed long int
unsigned long
,unsigned long int
long long
,long long int
,signed long long
,signed long long int
unsigned long long
,unsigned long long int
Microsoft 固有の整数型には、特定の幅の __int8
、__int16
、__int32
、および __int64
型が含まれます。 これらの型は、signed
および unsigned
修飾子を使用できます。 __int8
データ型は char
型と同じ意味であり、__int16
は short
型と同じ意味であり、__int32
は int
型と同じ意味であり、__int64
は long long
型と同じ意味です。
組み込み型のサイズ
多くの組み込み型には、実装で定義されたサイズがあります。 次の表は、Microsoft C++ において組み込み型に必要とされるストレージの量の一覧です。 特に、64 ビットのオペレーティング システムでも long
は 4 バイトです。
Type | サイズ |
---|---|
bool , char , char8_t , unsigned char , signed char , __int8 |
1 バイト |
char16_t , __int16 , short , unsigned short , wchar_t , __wchar_t |
2 バイト |
char32_t , float , __int32 , int , unsigned int , long , unsigned long |
4 バイト |
double , __int64 , long double , long long , unsigned long long |
8 バイト |
型ごとの値の範囲の概要については、「データ型の範囲」を参照してください。
型変換の詳細については、「標準変換」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示