объявление структуры Table:
struct Tables {
int i;
int vi[10];
Table t1;
Table vt[10];
};
Tables tt;
при условии, что для таблицы определен пользовательский конструктор по умолчанию.
здесь tt.t1 будет инициализирован с использованием стандартного конструктора для таблицы, а также каждого элемента в tt.vt.
С другой стороны, tt.i и tt.vi не инициализируются, потому что эти объекты не относятся к типу класса.
поэтому мы остаемся с полуинициализированным объектом tt.
если я правильно понял - если tt.i или tt.vi не будут явно инициализированы в коде, после создания tt будет выдано сообщение об ошибке, если мы попытаемся прочитать из них значение?
2) Может кто-нибудь объяснить мне, почему разработчики cpp не хотят просто инициализировать встроенные типы int и int [] равными нулю?