... что:
class A {int a;};
class B: public A {int b;};
B object;
Странный вопрос? А вот я у Страуструпа (вроде) читал, что реализация класса В, выбранная разработчиком компилятора, может быть вовсе не обязательно struct B1 { int a; int b; };
Может быть выбрана такая реализация: struct __B2 {int b;}; struct B2 { int a; __B2* __b2; } и для этой реализации write запишет на диск адрес __b2, а потом, при следующем запуске программы, read прочтет уже недействительный адрес в поле __b2.
Где в стандарте написано что-то на эту тему?