4,4,6 2,2,2
POD or non-POD affect the layout size.
#include <iostream>
struct S {
short a;
char b;
};
struct ES : S {
char c;
};
class C {
short a;
char b;
};
class EC : C {
char c;
};
int main() {
std::cout << sizeof(C) << std::endl;
std::cout << sizeof(EC) << std::endl;
std::cout << sizeof(ES) << std::endl;
std::cout << "alignof(C) " << alignof(C) << std::endl;
std::cout << "alignof(EC) " << alignof(EC) << std::endl;
std::cout << "alignof(ES) " << alignof(ES) << std::endl;
return 0;
}
Reference:The Lost Art of C Structure Packing by Eric S. Raymond Access specifiers (public/private/protected) don't affect inherited "object size" in anyway.?? not quite
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.