Сообщение Re[2]: Локальные переменные от 17.08.2025 11:53
Изменено 17.08.2025 11:58 rg45
Re[2]: Локальные переменные
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Куда правильнее было бы по дефолту заносить либо предопределенные, либо случайные значения, а нулями инициализировать только при явном запросе (ключ компилятора, прагма, атрибут и т.п.).
Это приемлемо как отладочная мера (которая и так используется). А в релизной конфигурации это может оказаться лишней работой, которая чувствительно влияет на производительность. Ведь стандарт разрешает неинициализированную переменную инициализировать позже (например, через присваивание).
ЕМ>Куда правильнее было бы по дефолту заносить либо предопределенные, либо случайные значения, а нулями инициализировать только при явном запросе (ключ компилятора, прагма, атрибут и т.п.).
Это приемлемо как отладочная мера (которая и так используется). А в релизной конфигурации это может оказаться лишней работой, которая чувствительно влияет на производительность. Ведь стандарт разрешает неинициализированную переменную инициализировать позже (например, через присваивание).
Re[2]: Локальные переменные
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Куда правильнее было бы по дефолту заносить либо предопределенные, либо случайные значения, а нулями инициализировать только при явном запросе (ключ компилятора, прагма, атрибут и т.п.).
Это приемлемо как отладочная мера (которая и так используется). А в релизной конфигурации это может оказаться лишней работой, которая чувствительно влияет на производительность. Ведь стандарт разрешает неинициализированную переменную инициализировать позже (например, через присваивание). Ведь не просто так в стандартную библиотеку вводится куча "uninitialized_..." алгоритмов, позволяющих избежать ненужной промежуточной инициализации.
ЕМ>Куда правильнее было бы по дефолту заносить либо предопределенные, либо случайные значения, а нулями инициализировать только при явном запросе (ключ компилятора, прагма, атрибут и т.п.).
Это приемлемо как отладочная мера (которая и так используется). А в релизной конфигурации это может оказаться лишней работой, которая чувствительно влияет на производительность. Ведь стандарт разрешает неинициализированную переменную инициализировать позже (например, через присваивание). Ведь не просто так в стандартную библиотеку вводится куча "uninitialized_..." алгоритмов, позволяющих избежать ненужной промежуточной инициализации.