1

如果我有两个结构:

struct Base {
    int a;
};

struct Derived : Base {
    int b;
};

然后通过一个实例Derived d,我可以直接访问aand bas d.aand d.b

但是,使用此设置,Derived它不是标准布局类型。

如果我想让它成为标准布局,我可以这样做:

struct Derived {
    Base base;
    int b;
};

但随后要访问a我必须使用d.base.a而不是d.a像以前一样。

我可以像第一个示例一样以Derived一种允许我访问的方式声明该结构ab同时将其保持为标准布局类型吗?

4

0 回答 0