如果我有两个结构:
struct Base {
int a;
};
struct Derived : Base {
int b;
};
然后使用实例Derived d
,我可以a
和b
直接访问d.a
和d.b
。
但是,使用此设置,Derived
不是标准布局类型。
如果我想使它成为标准布局,我可以做类似的事情:
struct Derived {
Base base;
int b;
};
但是要访问a
我必须像以前一样使用d.base.a
而不是d.a
。
我能否以允许我访问Derived
和a
的方式声明b
结构,如第一个示例所示,同时保持标准布局类型?