Поскольку C++ позволяет размещать объявления переменных в любой момент в программе ... Я думаю, что есть мало повод для неинициализированных переменных.
Существует несколько разногласий относительно разницы в C++ 11 между Type var (param);
и Type var {param};
, причем последний прописывается через то, что называется Uniform Initialization. Я попытался использовать только унифицированную инициализацию и получил из нее некоторые странные краевые случаи. Я не уверен, что все это взломано, и они отступают и обычно ищут ясность кода.
Таким образом, я бы сказал, char ch1(' ');
, из-за того, что он уродлив, лучше сказать как char ch = ' ';
Это действительно система компромиссов.
Это поможет, если вы добавите тег о том, какой язык программирования вы используете. – Dijkgraaf
И скажите нам, что означает «имея в виду функции определения». – EJP
@ Dijkgraaf, EJP благодарит за разъяснения. Я понимаю, что использование единообразной инициализации в конструкторах _class_, однако, помогает ли это читать код вне конструктора. – Ziezi