首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于类的sizeof,该怎么解决

2012-02-16 
关于类的sizeof如下类:classCExample{public:CExample(){}virtual~CExample(){}private:staticintm_iValue

关于类的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

热点排行