跳至主要内容

博文

目前显示的是标签为“object model”的博文

The Size of a Class/Object

最近在研究C++的object model,刚好看见几道关于sizeof的题目,做下来发现关于virtual关键字的class size并不是那么容易计算。还有编译器为了优化而产生的data padding也很tricky…… class  A { int  a; };             // sizeof(A) = 4 class  B : A { int  b; };         // sizeof(B) = 8 class  C : A { int  c; };         // sizeof(C) = 8 class  D : B, C { };             // sizeof(D) = 16 class  A { int  a; };             // sizeof(A) = 4 class  B : virtual  A { int  b; }; // sizeof(B) = 12 class  C : virtual  A { int  c; }; // sizeof(C) = 12 class  D : B, C { };             // sizeof(D) = 24 class  A { int  a; };       ...