C++类的存储空间

(1)空类的内存占用量为1,这是因为C++要保证被一个类的对象都有一个特定的地址

,因而赋予给他一个地址作为标识;当有了成员变量了就不需要了。

(2)非虚函数不占类空间.在编译时是静态绑定,类调用时就象调用库函数一样,所以类空
间中没有为普通成员函数分配空间。

(3)虚函数占4字节空间,函数和纯虚函数是动态绑定的,编译时需要一个指针指向一个
虚函数表,多个虚函数也只有一个该指针。

(4)非静态成员变量占空间,静态变量位于静态存储区,不在栈上所以sizeof得不到其占用内存。

(5)对齐原则,为提高硬件访问内存效率,32位系统是按照4字节对齐。

你可能感兴趣的:(C++类的存储空间)