读书人

关于类的sizeof,该怎么解决

发布时间: 2012-02-16 21:30:36 作者: rapoo

关于类的sizeof
如下类:
class CExample
{
public:
CExample(){}
virtual ~CExample(){}
private:
static int m_iValue1;
int m_iValue2;
};
假设CEampleobj是该类的一个对象,sizeof(CEampleobj)的大小是8;但将virtual ~CExample(){}和int m_iValue2;都去掉后,计算sizeof(CEampleobj)的结果是1,这个1是哪来的?

[解决办法]
编译器按照要求给加上的。
你想啊,当一个类的实例对象产生的时候,总要有个地址吧。可这没有空间怎么会有地址呢?
没办法,就人为给他分配一个字节吧。
[解决办法]
1 是一个填充字节
[解决办法]
仰视一下小兴
[解决办法]
学习了。。。
[解决办法]
一个空类的大小为1个字节,这是编译器自己加进去的. 仅且仅有是空类的时候,编译器才会添加这1个字节
[解决办法]
http://community.csdn.net/Expert/TopicView3.asp?id=5401264

读书人网 >C++

热点推荐