Если у меня есть две структуры:
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
как в первом примере, сохраняя при этом стандартный тип макета?
Задача ещё не решена.
Других решений пока нет …