了解C++类的大小和类变量的字节对齐
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解C++类的大小和类变量的字节对齐相关的知识,希望对你有一定的参考价值。
空类;
空类没有内容,但是需要分配地址;大小为1个字节;
基础类;
下图类占用8个字节;i 是四字节;c本身是一字节大;为对齐填充了3个字节;总大小是8字节;
double为8字节大;下图,4 + 4 + 8 = 16;
带虚函数的情况;
下图类占用12个字节,
四字节对齐2个变量共占用8个字节;由于存在虚函数,在类开始位置插入了一个虚函数指针,该指针占用4个字节,共计12字节;类的非虚函数不占用类对象的内存,函数编译后形成二进制文件放在内存中的代码段区;
类继承的情况;
基类大小为8个字节;继承类大小为12字节;继承类继承了基类的变量;
在内存中基类在派生类的前面;这就在看不到的情况下系统复制了一份数据;
以上是关于了解C++类的大小和类变量的字节对齐的主要内容,如果未能解决你的问题,请参考以下文章