变量类型
类型 | 含义 | 最小尺寸 |
---|---|---|
bool | 布尔类型 | 未定义 |
char | 字符 | 8位 |
wchar_t | 宽字符 | 16位 |
char16_t | Unicode | 16位 |
char32_t | Unicode | 32位 |
short | 短整型 | 16位 |
int | 整型 | 16位 |
long | 长整型 | 32位 |
long long | 长整型 | 64位 |
float | 单精度浮点数 | 6位有效数字 |
double | 双精度浮点数 | 10位有效数字 |
long double | 扩展精度浮点数 | 10位有效数字 |
其中需要注意的是:C++中规定一个int至少和一个short一样大,一个long至少和一个int一样大,一个long long至少和一个long一样大。其中long long是C++11中新定义的。
如何选择
- 明知数值不可能为负时,选用无符号类型。
- 使用int进行整数运算时,当你的数值远远超过int大小时,建议选取long long(不用long是因为它和int一般有着相同的尺寸)
- 在算术表达式中不要使用char或者bool,因为char类型在一些机器上是有符号的,很容易出现问题,建议用signed或者unsigned指明。
- 若使用浮点数,建议使用double而不是float,因为double的表示范围远远大于float,且计算代价相差无几,甚至在某些机器上double还更快。