基本類型 (C++)
C++ 中的基本類型分為三類:整數、浮動和 void。 整數類資料類型能夠處理整數。 浮動類型可以指定可能有小數部分的值。
void 類型描述空的值集。 不可以指定任何類型為 void 的變數 -- 它主要是用來宣告沒有傳回值的函式,或是將泛型指標宣告為不具類型或任意具類型的資料。 所有運算式都可以明確轉換 (converted) 或轉型 (cast) 為類型 void。 不過,這類運算式僅限於下列用法:
運算陳述式。(如需詳細資訊,請參閱運算式)。
逗號運算子的左運算元。(如需詳細資訊,請參閱逗號運算子)。
條件運算子的第二個或第三個運算元 (?:).(如需詳細資訊,請參閱含條件運算子的運算式)。
下表說明類型大小的限制。 這些限制與 Microsoft 實作無關。
C++ 語言的基本類型
分類 |
類型 |
內容 |
---|---|---|
整數 |
char |
char 類型是通常包含執行字元集 (在 Microsoft C++ 中,這是 ASCII) 成員的整數類資料類型。 |
|
|
C++ 編譯器會將類型為 char、signed char 和 unsigned char 的變數視為具有不同的類型。 除非使用 /J 編譯選項,否則會將 char 類型的變數提升為 int,就如同這些變數已預設為 signed char 類型一樣。 在這種情況下,會將這些變數視為類型 unsigned char,並提升為沒有正負號擴充的 int。 |
|
bool |
bool 類型是可能為 true 或 false 兩個值之一的整數類資料類型。 它的大小並未指定。 |
|
short |
short int (或只是 short) 類型是大於或等於 char 類型大小,但短於或等於 int 類型大小的整數類資料類型。 |
|
|
類型為 short 的物件可以宣告為 signed short 或 unsigned short。 signed short 是 short 的同義字。 |
|
int |
int 類型是大於或等於 short int 類型大小,但短於或等於 long 類型大小的整數類資料類型。 |
|
|
類型為 int 的物件可以宣告為 signed int 或 unsigned int。 Signed int 是 int 的同義字。 |
|
__intn |
可調整大小的整數,其中 n 是整數變數的大小 (以位元為單位)。 n 的值可以是 8、16、32 或 64。(__intn 是 Microsoft 專有關鍵字)。 |
|
long |
long (或 long int) 類型是大於或等於 int 類型大小的整數類資料類型。 |
|
|
類型為 long 的物件可以宣告為 signed long 或 unsigned long。 Signed long 是 long 的同義字。 |
long long |
大於 unsigned long。 |
|
類型為 long long 的物件可以宣告為 signed long long 或 unsigned long long。 Signed long long 是 long long 的同義字。 |
||
浮動 |
float |
float 類型是最小的浮動類型。 |
|
double |
double 類型是大於或等於 float 類型,但大小短於或等於 long double 類型的浮動類型。 |
|
long double1 |
long double 類型是等於 double 類型的浮動類型。 |
寬字元 |
__wchar_t |
__wchar_t 的變數指定寬字元或多位元組字元類型。 根據預設,wchar_t 是原生類型,但是您可以使用 /Zc:wchar_t-,將 wchar_t 設為 unsigned short 的 typedef。 在字元或字串常數之前使用 L 前置詞可指定寬字元類型常數。 |
1 long double 和 double 的表示是相同的。 不過,long double 和 double 是不同的類型。
Microsoft 特定的
下表列出 Microsoft C++ 的基本類型所需的儲存空間量。
基本類型的大小
類型 |
大小 |
---|---|
bool |
1 個位元組 |
char、unsigned char、signed char |
1 個位元組 |
short、unsigned short |
2 個位元組 |
int, unsigned int |
4 個位元組 |
__intn |
8、16、32、64 或 128 位元,視 n 的值而定。__intn 是 Microsoft 專有的。 |
long、unsigned long |
4 個位元組 |
float |
4 個位元組 |
double |
8 個位元組 |
long double1 |
8 個位元組 |
long long |
相當於 __int64。 |
1 long double 和 double 的表示是相同的。 不過,long double 和 double 是不同的類型。
END Microsoft 特定的
如需每個類型值範圍的摘要,請參閱資料類型範圍。
如需類型轉換的詳細資訊,請參閱標準轉換。