如果我有两个结构:
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一种允许我访问的方式声明该结构a,b同时将其保持为标准布局类型吗?