sizeof(class)有关问题
sizeof(class)问题。C/C++ code#include iostreamusing namespace stdclass abce{public:int afloat b
sizeof(class)问题。
C/C++ code#include <iostream>using namespace std;class abce{public: int a; float b; string c; double e;};int main(){ abce a1; cout<<sizeof(int)<<"\t"<<sizeof(float)<<"\t"<<sizeof(string)<<"\t"<<sizeof(double)<<endl; cout<<sizeof(a1)<<endl; return 0;}
输出的结果是:
4 4 4 8
24
问题是:
为什么sizeof(a1)的结果不是4+4+4+8=20?
[解决办法]内存对齐吧
[解决办法]看看 C/C++ 内存补齐,你就豁然开朗了。提供个链接,自己学习吧.
C/C++ 内存补齐:
[url]http://blog.csdn.net/digu/article/details/4768623[/url]
希望楼主可以理解,Good Luck!