我应该把空的基类放在哪里?

9

当其中一个基类为空,而另一个不为空时,我列出基类的顺序是否重要?

class Foo : normal_class, empty_class { ... };

class Foo : empty_class, normal_class { ... };

订单是否影响编译器应用空基类优化的能力?


目前我手头没有标准(不应该是注释),但从我的经验来看,标准并不限制优化在基础列表中的特定位置。 - Matthieu M.
哈哈,我曾经试图回答一个类似的问题,通过进行现实世界的测试。但是我把实验搞砸了,得出了错误的结果,让别人看笑话了。 - Potatoswatter
为什么要使用汇编?你不能只检查生成的Foo的大小吗? - visitor
empty_class 中包含任何方法/构造函数吗?如果它完全为空,那么我想知道您继承的目的是什么。 - iammilind
@iam:Barton Nackman - fredoverflow
显示剩余2条评论
2个回答

1

0

这是不相关的 -- 继承了一些数据成员之后,编译器可能会任意填充类。因此,空优化并不一定适用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接