C++类所占内存大小计算
转载时请注明出处和作者联系方式
文章出处:http://blog.csdn.net/chenchong08
作者联系方式:vision_chen@yeah.net
说明:笔者的操作系统是32位的。
class A {};
sizeof( A ) = ?
sizeof( A ) = 1
明明是空类,为什么编译器说它是1呢?
空类同样可以实例化,每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址.所以sizeof( A )的大小为1.
class B
{
public:
B() {}
~B() {}
void MemberFuncTest( int para ) { }
static void StaticMemFuncTest( int para ){ }
};
sizeof( B ) = ?
sizeof( B ) = 1
1096




被折叠的 条评论
为什么被折叠?



