返回信息流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;
}
输出多少?
这是一条镜像帖。来源:北邮人论坛 / cpp / #44134同步于 2010/9/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
带静态成员的类大小问题
idx001
2010/9/20镜像同步18 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
两个private都去掉了?
你的意思是都变成public?
【 在 Letsgo (没有昵称) 的大作中提到: 】
: 结果是8,当private去掉就是12,大牛帮忙解释
在VS2005下是12
对象test有3个成员变量number,X和Y,由于内存对齐的原因,每个变量都占4个字节
static成员变量是count和type,属于类不属于单个对象,所以不和前面3个在一起
就是12了
【 在 idx001 的大作中提到: 】
: class x
: {
: public:
: ...................
再怎么玩,count和type的长度也不会算进去的
差异就是字节对齐的问题了
【 在 jmpesp 的大作中提到: 】
: 这种东西 不同编译器有不同玩法 大家别太当真了。。。
【 在 eastdell 的大作中提到: 】
: 再怎么玩,count和type的长度也不会算进去的
: 差异就是字节对齐的问题了
: 【 在 jmpesp 的大作中提到: 】
: ...................
re?
dev/c++,与vs下不同,dev:8 vs:12
出这种笔试题的到底是什么思想?
说实话挺没劲的
【 在 idx001 (X.win) 的大作中提到: 】
: re?
: dev/c++,与vs下不同,dev:8 vs:12
: 出这种笔试题的到底是什么思想?
: ...................
考察类对象的内存结构
这个问题其实相当复杂
《深度探索 C++ 对象模型》一本书都在研究这个问题
【 在 idx001 的大作中提到: 】
: re?
: dev/c++,与vs下不同,dev:8 vs:12
: 出这种笔试题的到底是什么思想?