数据类型 | 32位 | 64位 |
---|---|---|
bool | 1 | 1 |
char | 1 | 1 |
unsigned char | 1 | 1 |
short int | 2 | 2 |
int | 4 | 4 |
指针 | 4 | 8 |
unsigned int | 4 | 4 |
float | 4 | 4 |
long | 4 | 8 |
unsigned long | 4 | 8 |
double | 8 | 8 |
long long | 8 | 8 |
归纳总结:除了指针和long随操作系统变化之外,其他均不变(32位与64位操作系统比较)。
注意:
1.Linux下long是8字节,Windows下是4字节。
2.string的大小:32位和64位下string差4byte,其实就是一个指针的差别。string内部并不保存字符串本身,而是保存了一个指向字符串开头的指针。