
当我查看标准文档时,我发现了这个..
在9.3类中,
Complete objects and member subobjects of class type @H_404_8@shall have nonzero size.96) …
是的,是的..但是,
96)Base class subobjects are @H_404_8@not so constrained.
所以,当我查看Stroustrup’s FAQ时,有一个例子
voID f(X* p) { voID* p1 = p; voID* p2 = &p->a; if (p1 == p2) cout << "nice: good optimizer"; } 我的问题是我无法理解它是如何优化的,也是为什么基类允许零大小?
解决方法 基类的大小不能为零.只有基类子对象才可以.表示派生对象的基础部分. 总结以上是内存溢出为你收集整理的c – 为什么基类的大小为零?全部内容,希望文章能够帮你解决c – 为什么基类的大小为零?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)