gpt4 book ai didi

c++ - 为什么基类的大小可以为零?

转载 作者:可可西里 更新时间:2023-11-01 17:08:31 24 4
gpt4 key购买 nike

基本上它是 this question跟进 ..

当我查看标准文档时,我发现了这一点..

9.3 课中,

Complete objects and member subobjects of class type shall have nonzero size.96) ...

是的,没错..但是,

96)Base class subobjects are not so constrained.

所以,当我查看 Stroustrup's FAQ 时, 有一个例子

void f(X* p)
{
void* p1 = p;
void* p2 = &p->a;
if (p1 == p2) cout << "nice: good optimizer";
}

我的问题是我无法理解这是一种优化,也无法理解为什么允许基类的大小为零

最佳答案

基类不能大小为零。只有基类 subobjects 可以。表示派生对象的基础部分。

关于c++ - 为什么基类的大小可以为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com