读书人

sizeof(class)有关问题

发布时间: 2012-09-10 22:20:12 作者: rapoo

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!

读书人网 >C++

热点推荐