C++ 定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,另外还定义了一种称为 void 的特殊类型。void 类型没有对应的值,仅用在有限的一些情况下,通常用作无返回值函数的返回类型。算术类型的存储空间依机器而定。这里的存储空间是指用来表示该类型的位(bit)数。C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。事实上,对于int 类型,几乎所有的编译器使用的存储空间都比所要求的大。下表就是内置算术类型的最小存储空间。
类型 | 最小存储空间 |
bool | --- |
int | 16bit |
long | 32bit |
char | 8bit |
w_char | 16bit |
short | 16bit |
float | 6位有效数字 |
double float | 10位有效数字 |
long double float | 10位有效数字 |
和其他整型不同,char 有三种不同的类型:plain char 、unsigned char 和signed char。虽然 char 有三种不同的类型,但只有两种表示方式。可以使用unsigned char 或 signed char 表示 char 类型。使用哪种 char 表示方式由编译器而定。