Consider
struct base {};
struct child : base {};
众所周知sizeof(child)
可以通过应用 1空碱基优化.
然而现在,考虑一下
struct base {};
struct child : base {base b;};
编译器现在可以应用空基优化吗,或者必须sizeof(child)
至少是2?
参考:http://en.cppreference.com/w/cpp/language/ebo http://en.cppreference.com/w/cpp/language/ebo
不,它不能。来自同一参考文献:
如果空基类之一,则禁止空基优化
也是第一个非静态数据的类型或类型的基数
成员
Thus sizeof(child) >= 2
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)