关于派生类的大小,最好具有继承的“链”或继承最低派生类中的所有内容?
例如,以下哪个更好:
class Base {
virtual void something() = 0;
};
class Derived1 {
// ...
};
class Derived2 : public Derived1, public Base {
// ...
};
和
class Base {
virtual void something() = 0;
};
class Derived1 : public Base {
// ...
};
class Derived2 : public Derived1 {
// ...
};
在第二种情况下,是否必须存储两个vtable指针,而在第一种情况下只存储一个?
在第一种情况下,我的sizeof(Derived)
比第二种情况低。
关于派生类的大小,最好具有继承的“链”或继承最低派生类中的所有内容?例如,在以下两者之间比较好:class Base {virtual ...
据我所见,您看到的只是一个空的基类优化。看看我已经准备好了。当您没有空类时,大小是相同的。