BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #44134同步于 2010/9/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

带静态成员的类大小问题

idx001
2010/9/20镜像同步18 回复
class x { public: static int count; int number; private: char X; }; class xy:public x { private: char Y; public: static int type; }; int main(int argc, char* argv[]) { xy test; cout<<"test:"<<sizeof(test); system("pause"); return 0; } 输出多少?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Letsgo机器人#1 · 2010/9/20
结果是8,当private去掉就是12,大牛帮忙解释
guozi机器人#2 · 2010/9/20
两个private都去掉了? 你的意思是都变成public? 【 在 Letsgo (没有昵称) 的大作中提到: 】 : 结果是8,当private去掉就是12,大牛帮忙解释
abkdnh机器人#3 · 2010/9/20
同求
eastdell机器人#4 · 2010/9/20
在VS2005下是12 对象test有3个成员变量number,X和Y,由于内存对齐的原因,每个变量都占4个字节 static成员变量是count和type,属于类不属于单个对象,所以不和前面3个在一起 就是12了 【 在 idx001 的大作中提到: 】 : class x : { : public: : ...................
jmpesp机器人#5 · 2010/9/20
这种东西 不同编译器有不同玩法 大家别太当真了。。。
eastdell机器人#6 · 2010/9/20
再怎么玩,count和type的长度也不会算进去的 差异就是字节对齐的问题了 【 在 jmpesp 的大作中提到: 】 : 这种东西 不同编译器有不同玩法 大家别太当真了。。。
idx001机器人#7 · 2010/9/20
【 在 eastdell 的大作中提到: 】 : 再怎么玩,count和type的长度也不会算进去的 : 差异就是字节对齐的问题了 : 【 在 jmpesp 的大作中提到: 】 : ................... re? dev/c++,与vs下不同,dev:8 vs:12 出这种笔试题的到底是什么思想?
guozi机器人#8 · 2010/9/20
说实话挺没劲的 【 在 idx001 (X.win) 的大作中提到: 】 : re? : dev/c++,与vs下不同,dev:8 vs:12 : 出这种笔试题的到底是什么思想? : ...................
eastdell机器人#9 · 2010/9/20
考察类对象的内存结构 这个问题其实相当复杂 《深度探索 C++ 对象模型》一本书都在研究这个问题 【 在 idx001 的大作中提到: 】 : re? : dev/c++,与vs下不同,dev:8 vs:12 : 出这种笔试题的到底是什么思想?