Равномерная инициализация для основных типов?

Является ли хорошей практикой использование этих определений для основных типов?

int num1(), num2(0);
char ch1(), ch2(' ');

Их можно легко принять за определения функций.

int nam1();
char ch1();

0

Решение

Потому что C ++ позволяет размещать объявления переменных в любой точке программы … Я думаю, что для неинициализированных переменных мало оправданий.

Есть немного противоречий относительно различий в C ++ 11 между Type var (param); а также Type var {param}; с последним предписывается через то, что называется Единая инициализация. Я пытался использовать только равномерную инициализацию и получил некоторые странные крайние случаи из этого. Я не уверен, что это все, что нужно, чтобы быть, и отступали и в целом ищут ясности кода.

Так что я бы сказал, char ch1(' ');в силу того, что он некрасив, лучше сказать как char ch = ' '; Это действительно система компромиссов.

1

Другие решения