请问老师关于sizeof一个类实例的问题
来源:8-18 Hack对象模型和虚函数
Osuribaba
2020-04-11
写了个简单的类实例化之后对其进行sizeof,发现windows上mac上不一样
windows:
mac:
windows下是16我能理解,但是mac下是24就不太能理解了。
我试了一下如下的操作:
mac下
class Parent {};
class Child: public Parent {
private:
int _ding1;
double _ding2;
};
int main(void) {
Child test1;
cout << sizeof(test1) << endl;
return 0;
}
这种情况下输出 16
然后又试了一下,把child中private中的int类型干掉:
mac下
class Parent {};
class Child: public Parent {
private:
double _ding2;
};
int main(void) {
Child test1;
cout << sizeof(test1) << endl;
return 0;
}
这种情况输出 8
不太能理解。。。。请教老师
写回答
1回答
-
咋们原则上不解决不是课程上的问题;对象模型问题请见我们讲的对齐问题,这里提示你32位系统虚表是个地址表,会占用一个指针的空间。
032020-04-12
相似问题