关于C++中常用变量在内存中所占的字节数这个问题,其实没有统一的答案。
因为不同的机器、不同的硬件平台、不同的系统都有可能有不同的标准,特别是整型变量,更是如此。
最好的方式就是用函数sizeof()实测一下。
比如博主用于测试自己当下使用的C++环境各种变量在内存中所占的字节数的代码和结果如下:
#includeusing namespace std; int main() { cout << "char 类型所占内存字节数为: " << sizeof(char) << endl; cout << "short 类型所占内存字节数为: " << sizeof(short) << endl; cout << "int 类型所占内存字节数为: " << sizeof(int) << endl; cout << "long 类型所占内存字节数为: " << sizeof(long) << endl; cout << "long long 类型所占内存字节数为: " << sizeof(long long) << endl; cout << "float 类型所占内存字节数为: " << sizeof(float) << endl; cout << "double 类型所占内存字节数为: " << sizeof(double) << endl; cout << "std::string类型所占内存字节数为: " << sizeof(std::string) << endl; return 0; }
运行结果如下图所示:
所以对于博主当下的C++环境,结果就是:
- char 类型所占内存字节数为: 1
- short 类型所占内存字节数为: 2
- int 类型所占内存字节数为: 4
- long 类型所占内存字节数为: 4
- long long 类型所占内存字节数为: 8
- float 类型所占内存字节数为: 4
- double 类型所占内存字节数为: 8
- std::string类型所占内存字节数为: 28



