2011-09-14 42 views
9

當其中一個是空的而另一個不是時,我列出基類的順序是否重要?我應該在哪裏放置空基類?

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

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

該順序是否影響編譯器應用空基類優化的能力?

+0

我沒有在手的標準目前(不會評論),但是從頂掉我的帽子我d說標準不會將優化限制在基本列表中的特定位置。 –

+0

做一個真實世界的測試並比較程序集是否可行? –

+0

大聲笑,幾年前我試着通過做一個真實世界的測試來回答類似的問題。我搞砸了實驗,得到了錯誤的結果,並把我的屁股交給了我。 – Potatoswatter

回答

0

這是無關緊要的 - 在繼承了一些數據成員之後,編譯器可能會隨意填充該類。所以不,空的優化並不是必須應用的。