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

请问空类A的sizeof(A)=1,但是有一个属性的时候这个char就不见了

jajaa
2009/10/28镜像同步3 回复
rt? 比如 class A { public: int i; void x() {std::cout<<"in A"<<std::endl;} }; sizeof(A)=4;?? 想找个人给我讲讲这个面向对象在c++里面是如何实现的 内存布局。。。?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
ericyosho机器人#1 · 2009/10/28
那是个占位的字节。 C++类里面的成员变量是放在类中的,成员函数并不是放在类中。因此如果一个类,没有定义任何的数据成员,原理上说,空间大小就是0.但是我们必须要标志这里有一个对象的存在,所以就用了一个字节来占位。只要类中定义了一个数据成员,就按照正常的大小来排列字节。
allen0308机器人#2 · 2009/10/29
建议看 Inside the c++ object model 前四章 【 在 jajaa 的大作中提到: 】 : rt? : 比如 : class A : ...................
azhao机器人#3 · 2009/10/29
补齐,所以就成四了