Почему следует инициализировать переменные при их объявлении?

Почему следует инициализировать переменные при их объявлении?


Ответы (3 шт):

Автор решения: AlexVolkov

Ну я не думаю, что прям обязательно следует их инициализировать при объявлении. Ну только в том случае, если у тебя заранее есть значение или значение переменной константное и стоит ее(переменную) проинициализировать.

→ Ссылка
Автор решения: 0x25

Как раз объявление не содержит инициализацию. Инициализация происходит при определении.

Имеет смысл инициализировать переменную, если она локальная нестатическая, потому что иначе там будет мусор и можно случайно к нему обратиться, вызвав неопределенное поведение. Да и после определения "инициализировать" переменную уже нельзя, можно только присвоить ей какое-то значение.

→ Ссылка
Автор решения: eri

Основная причина в том чтоб не забыть положить значение в эту переменную. С переменными на стеке там оказажется значение с предыдущего вызова этой функции (например как в strtok). Со значениями на куче - нет гарантии что там будет в переменной.

Компилятор не выдаст предупреждения что переменная не инициализированна. При рефакторинге части кода могут быть переставленны местами и получим ошибку которую не поймает иде и компилятор.

→ Ссылка