基本型 (C++)Fundamental Types (C++)

C++ の基本的な型は、整数、浮動小数点、および void の 3 つのカテゴリに分類されます。Fundamental types in C++ are divided into three categories: integral, floating point, and void. 整数型は整数を処理できます。Integral types are capable of handling whole numbers. 浮動小数点型は小数部分を含む可能性がある値を指定することができます。Floating point types are capable of specifying values that may have fractional parts.

void 型は一連の空の値を示します。The void type describes an empty set of values. 型の変数voidを指定できます: 値を返さない関数を宣言するには、主に使用されますか、型指定されたデータに型指定されていない、または任意のジェネリック ポインターを宣言しません。No variable of type void can be specified — it is used primarily to declare functions that return no values or to declare generic pointers to untyped or arbitrarily typed data. 任意の式を明示的に変換または型にキャストvoidします。Any expression can be explicitly converted or cast to type void. ただし、このような式は次の用途に制限されています。However, such expressions are restricted to the following uses:

  • 式ステートメントAn expression statement. (詳細については、「 」を参照)。(See Expressions, for more information.)

  • コンマ演算子の左のオペランドThe left operand of the comma operator. (詳細については、「 コンマ演算子 」を参照)。(See Comma Operator for more information.)

  • 条件演算子の 2 番目または 3 番目のオペランド (? :) The second or third operand of the conditional operator (? :). (詳細については、「 条件演算子を含む式 」を参照)。(See Expressions with the Conditional Operator for more information.)

型のサイズに適用される制限を次の表に示します。The following table explains the restrictions on type sizes. これらの制限は、Microsoft の実装に依存しません。These restrictions are independent of the Microsoft implementation.

C++ 言語の基本型Fundamental Types of the C++ Language

カテゴリCategory Type 目次Contents
整数型Integral charchar charは通常、基本実行文字セットのメンバーを含む整数型、既定では、これは、Microsoft C では ASCII です。Type char is an integral type that usually contains members of the basic execution character set — By default, this is ASCII in Microsoft C++.

C++ コンパイラが型の変数を扱うcharchar を署名、およびunsigned charとして別の型を持ちます。The C++ compiler treats variables of type char, signed char, and unsigned char as having different types. 型の変数charに昇格されるint型している場合、 char を署名既定では、/J コンパイル オプションを使用しない場合。Variables of type char are promoted to int as if they are type signed char by default, unless the /J compilation option is used. ここでは型として扱われますunsigned charに昇格int符号拡張なし。In this case they are treated as type unsigned char and are promoted to int without sign extension.
boolbool boolする 2 つの値のいずれかの整数型は、 trueまたはfalseします。Type bool is an integral type that can have one of the two values true or false. そのサイズは、指定されていません。Its size is unspecified.
shortshort short int (または単に短い) 型のサイズ以上である整数型は、 char、および型のサイズ以下intします。Type short int (or simply short) is an integral type that is larger than or equal to the size of type char, and shorter than or equal to the size of type int.

型のオブジェクト短いとして宣言できますつまり署名またはunsigned shortします。Objects of type short can be declared as signed short or unsigned short. つまり署名のシノニムです短いします。Signed short is a synonym for short.
intint int型のサイズ以上である整数型は、 short int、およびよりもより短い、または型のサイズと等しく長いします。Type int is an integral type that is larger than or equal to the size of type short int, and shorter than or equal to the size of type long.

型のオブジェクトintとして宣言できますint を署名または符号なし intします。Int を署名のシノニムですintします。Objects of type int can be declared as signed int or unsigned int. Signed int is a synonym for int.
__int8, __int16, __int32, __int64__int8, __int16, __int32, __int64 サイズが設定された整数 __int n( n は整数変数のビット単位のサイズ)Sized integer __int n, where n is the size, in bits, of the integer variable. _ _int8_ _int16_ _int32_ _int64は Microsoft 固有キーワードです。__int8, __int16, __int32 and __int64 are Microsoft-specific keywords. すべての種類は、すべてのアーキテクチャで使用できます。Not all types are available on all architectures. (__int128はサポートされていません)。(__int128 is not supported.)
longlong 長い(またはlong int) 型のサイズ以上である整数型は、 intします。Type long (or long int) is an integral type that is larger than or equal to the size of type int.

型のオブジェクト長いとして宣言できます時間の長い署名またはunsigned longします。Objects of type long can be declared as signed long or unsigned long. 時間の長い署名のシノニムです長いします。Signed long is a synonym for long.
long longlong long 符号なしのよりも大きい長いします。Larger than an unsigned long.

型のオブジェクトlongとして宣言できますlong long 型署名またはunsigned long long 型します。Objects of type long long can be declared as signed long long or unsigned long long. long long 型署名のシノニムですlongします。signed long long is a synonym for long long.
wchar_t, __wchar_twchar_t, __wchar_t 型の変数wchar_tはワイド文字またはマルチバイト文字型を指定します。A variable of type wchar_t designates a wide-character or multibyte character type. 既定では、 wchar_tのネイティブな型ですが、使用できる/Zc:wchar_t-させるwchar_tの typedef unsigned shortします。By default, wchar_t is a native type, but you can use /Zc:wchar_t- to make wchar_t a typedef for unsigned short. _ _Wchar_t型は、ネイティブの Microsoft 固有のシノニムですwchar_t型。The __wchar_t type is a Microsoft-specific synonym for the native wchar_t type.

ワイド文字型を指定するには、文字や文字列リテラルの前に L のプレフィックスを使用します。Use the L prefix before a character or string literal to designate the wide-character type.
浮動小数点数Floating point floatfloat floatは最小の浮動小数点型。Type float is the smallest floating point type.
doubledouble 二重を超える浮動小数点型または型に等しいfloatがよりも短いか型のサイズに等しいlong doubleします。Type double is a floating point type that is larger than or equal to type float, but shorter than or equal to the size of type long double.

Microsoft 固有:形式をlong double二重と同じです。Microsoft specific: The representation of long double and double is identical. ただし、 long double二重は個別の型。However, long double and double are separate types.
long doublelong double long doubleが浮動小数点型よりも大きいですまたは型に等しい二重します。Type long double is a floating point type that is larger than or equal to type double.

Microsoft 固有の仕様Microsoft Specific

次の表は、Microsoft C++ において基本的な型に必要とされるストレージの量の一覧です。The following table lists the amount of storage required for fundamental types in Microsoft C++.

基本型のサイズSizes of Fundamental Types

Type サイズSize
boolcharunsigned charchar を署名_ _int8bool, char, unsigned char, signed char, __int8 1 バイト1 byte
_ _int16短いunsigned shortwchar_t_ _wchar_t__int16, short, unsigned short, wchar_t, __wchar_t 2 バイト2 bytes
float, __int32, int, unsigned int, long, unsigned longfloat, __int32, int, unsigned int, long, unsigned long 4 バイト4 bytes
二重_ _int64long doublelongdouble, __int64, long double, long long 8 バイト8 bytes

Microsoft 固有の仕様はここまでEND Microsoft Specific

型ごとの値の範囲の概要については、「 データ型の範囲 」を参照してください。See Data Type Ranges for a summary of the range of values of each type.

型変換の詳細については、「 標準変換」を参照してください。For more information about type conversion, see Standard Conversions.

関連項目See also

データ型の範囲Data Type Ranges