Можно ли так инициировать компоненты класса? struct TList { byte n = 0; int M[256]; void Reset() { n = 0; }; void Push(int x) { M[n] = x; n++; } } Имеется ввиду byte n = 0. Всегда ли будет n=0 при объявлении переменной типа TList? Знаю, что можно написать конструктор TList() {n=0;} или TList() : n(0) {}. Просто интересно, допустим ли такой краткий вариант.
Да, при создании переменной типа TList будет автоматически инициализироваться переменная n значением 0, так как она объявлена как член структуры и имеет значение по умолчанию. Таким образом, краткая инициализация byte n = 0; является допустимой для данного класса.
Да, при создании переменной типа TList будет автоматически инициализироваться переменная n значением 0, так как она объявлена как член структуры и имеет значение по умолчанию. Таким образом, краткая инициализация byte n = 0; является допустимой для данного класса.