Если ваша логика такова, что вы определенно не будете писать код, который обращается к ним до их установки, то нет необходимости инициализировать их. Например, если вы не используете массив вообще, вы можете просто оставить их унифицированными.
Однако лучше всего инициализировать их, так как нет причин не делать этого, даже если вы инициализируете их для плохих значений. Может случиться так, что хотя вы всегда пишете перед чтением сейчас , это может измениться в будущем. Через 6 месяцев кто-то может что-то реорганизовать, и теперь перед записью происходит чтение. Поскольку это неопределенное поведение, возможно, ваша программа будет работать правильно, или она могла бы работать на их компьютере, но зависать на другом. Если вы их инициализируете, у вас просто не будет этих проблем.
Возможно, вы обеспокоены тем, что 0
является допустимым значением, и вы не хотите, чтобы ваша программа случайно получила это значение, вы бы лучше дали понять, что оно не инициализировано должным образом, но с неопределенным поведением вы можете получить 0
или какое-то другое допустимое значение или сбой, и он может быть несовместимым. Вы, вероятно, поблагодарите себя, если просто все правильно инициализируете.
Полиция C ++ или компилятор не помешает вам сделать это, и ваша программа все еще может быть хорошо сформирована, но вы можете также гарантировать ее, просто инициализируя их.