c++中数据大小的计算
程序员文章站
2022-03-26 09:31:25
c++中数据大小的计算:以前经常记得struct是有字节对其的, 那么类有没有字节对其呢?
class a{
public:
virtual ~a(){}
virtual void f...
c++中数据大小的计算:以前经常记得struct是有字节对其的, 那么类有没有字节对其呢?
class a{ public: virtual ~a(){} virtual void fun(){ printf("func a\n"); } private: char a; int b; char c; }; printf("sizeof(a)=%d", sizeof(a));
打印的结果:sizeof(a)=16
分析: 根据字节对齐我们知道 a后面会空三个字节, 根据补齐我们知道 c后面会补三个字节 共12字节,类中有virtual 是虚函数, 故类需要保存一个虚指针为四个字节 共16字节。