内存对齐
typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
cout << sizeof(data) << " " << sizeof(DATE);
为什么 第一个输出是32(codeblocks,winxp),按照内存对齐不应该是60吗?
[解决办法]
http://blog.csdn.net/hairetz/archive/2009/04/16/4084088.aspx
5分钟搞定内存字节对齐
看完我说的3个原则,就不会有问题了。