如果我有两个结构:
struct Base {
int a;
};
struct Derived : Base {
int b;
};
然后通过一个实例Derived d
,我可以直接访问a
and b
as d.a
and d.b
。
但是,使用此设置,Derived
它不是标准布局类型。
如果我想让它成为标准布局,我可以这样做:
struct Derived {
Base base;
int b;
};
但随后要访问a
我必须使用d.base.a
而不是d.a
像以前一样。
我可以像第一个示例一样以Derived
一种允许我访问的方式声明该结构a
,b
同时将其保持为标准布局类型吗?