sizeof计算类大小

 

1. 空类
 

C++标准规定类的大小不为0,空类的大小为1。

当类不包含 虚函数 和 非静态数据成员 时,其对象大小也为1。 如果在类中声明了虚函数(不管是1个还是多个),那么在实例化对象时,编译器会自动在对象里安插一个指针指向虚函数表VTable,在32位机器上,一个对象会增加4个字节来存储此指针,它是实现面向对象中多态的关键。

 

 


一个类中,虚函数、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间的。

对象大小 =   向虚函数表的指针的大小   +   所有非静态数据成员大小   +   Aligin字节大小(依赖于不同的编译器)。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章