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 字节。
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/02-23/17432450.html