const int val;
public:
A(int val);
}
Есть ли возможность указать что в аргумент конструктора передаётся значение для перемнной this.val, кроме как сделать this.val = val в теле конструктора?
Конечно
Да как тебе сказали унифицированная инициализация будет получше, она ещё компилятору говорит проверки делать, так что A(int _val) : val{_val} { }; . А вообще структуры(агрегаты) подобного рода можно инициализировать на лету, например там где ожидается возвращение функцией объекта типа A, можно просто написать return {some_integer}; и т.п.
Есть, надо использовать инициализаторы, ДО тела.
Обсуждают сегодня