在msvc ++ 2010中,仍然会破坏具有多重继承的空基本优化。目前,它似乎只适用于派生自的第一个类型,因此如果从多个空基派生,子类型最终会有更多字节(只是无用的填充!)而不是它需要。
显然,这种方式已经有一段时间了:https://connect.microsoft.com/VisualStudio/feedback/details/100686/empty-member-optimization-not-working-properly
此链接标记为“已关闭 - 无法修复”。只是想知道是否有人知道这些日子是否有任何关于这个“功能”的事情?
答案 0 :(得分:3)
msvc ++ 2010中仍然会破坏具有多重继承的空基础优化
“破碎”是什么意思?那,它不符合标准吗?
从派生它们时,标准不要求空类具有零大小。实现可以选择优化它,也可以根本不优化。