您的位置:首页 > 其它

sizeof 计算类大小时需注意的几点

2015-08-04 09:59 190 查看
1. 空类大小为1。

2. 非虚函数不计算大小。

3. 虚函数大小为4,不管有多少个虚函数,大小都为4,因为虚函数的存在需要维护一个虚表,在类中会有个指针,指针的大小是4,大概是这样。父类中有虚函数时,派生类中的虚函数不再计算大小,因为派生类会共享父类的指向虚表的虚函数指针。

4. 注意成员变量内存对齐,比如一个类中有char a; int b两个成员变量,那么类的大小时8,按4字节对齐。当成员变量大小均小于4字节时,按小的对齐,当有成员变量大于4字节时,按4字节对齐。

5. 静态成员变量不计算在类的大小中。

6. 派生类中也不计算父类中静态成员变量的大小,因为静态成员变量存放一个全局变量中,不管派生多少变都只有一个实体。

7.计算派生类的大小等于派生类本身的成员变量大小加上父类的大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: