欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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字节。