大对象内的子对象的偏移

时间:2015-05-05 05:01:06

标签: c++ class

假设我们有以下对象:

struct A
{
    int a;
};

struct B : A
{
    A a;
};

B a;

B b;

ab个对象中,我们有一个A类型的子对象。这个子对象在大对象中有一些偏移。偏移量取决于什么,B的所有内容中是否相同?

1 个答案:

答案 0 :(得分:2)

  1. C ++标准允许实现定义偏移量。
  2. B的所有实例都具有相同的布局。我们可以使用offsetof(B, a.a)来确定偏移量。