Операция ++ прибавляет 2-ку - страница 2

 
Azzx:
Так в MT они вроде всегда инициализируются нулём?


Если объявление в теле цикла, это производит иллюзию, что переменая будет инициализироваться при каждом прохождении цикла, но нет. 

 
Integer:


Если объявление в теле цикла, это производит иллюзию, что переменая будет инициализироваться при каждом прохождении цикла, но нет. 

Забавно. Никогда не обращал внимания, да и проблем с этим, вроде, не было. Проверю при случае. :)

А так-то подлянка конкретная, если подумать... :(

 
Azzx:
Так в MT они вроде всегда инициализируются нулём?

Никогда не полагайтесть на инициализацию по умолчанию, всегда инициализируйте переменные явно!
 
Самое лучшее- это когда система задает для неинициализированных переменных случайные значения )).
Тогда код случайно заработать в принципе не сможет.
 
PapaYozh:

Никогда не полагайтесть на инициализацию по умолчанию, всегда инициализируйте переменные явно!

Не по фэншую. :) В любом случае я должен полагаться, в первую очередь, на документацию. Мало того - иногда явной инициаизацией ДЕФОЛТНЫМ значением я в коде специально показываю, что на это значение я полагаюсь, а в противном случае - переменная инициализируется где-то явно.

А вообще - конкретно эта ошибка - как раз из-за того, что инициализации не происходит. :)

jartmailru:
Самое лучшее- это когда система задает для неинициализированных переменных случайные значения )).
Тогда код случайно заработать в принципе не сможет.
И не такие чудеса бывают. Если где-то затирается стек, например. Читал как-то описание такой дивной ошибки - на пятом уровне вложенности, если мне склероз не изменяет, подробностей уже не помню. Человека, который её отладил даже специально премировали. :)
 
А меня умиляет публика (программисты!), объявляющие тип переменной в теле цикла... Лучшие говорят: да, неправильно, но-можно, если понимать. ЧТО понимать? 
 

> А меня умиляет публика (программисты!), объявляющие тип переменной в теле цикла...
> Лучшие говорят: да, неправильно, но-можно, если понимать. ЧТО понимать? 

Переменные положено объявлять максимально близко к месту первого использования.
В частности, ограничивая область видимости такой переменнойй при помощи scope.
И этой правильной практике многие следуют.

 
> И не такие чудеса бывают. Если где-то затирается стек, например.
Так нет же...
Есть такие IDE, которые все объекты, которые освобождены- 
и неинициализированные, а также всю свободную память- забрасывают мусором.
Специально.
Чтобы не возникло ситуации, что программа случайно работает.
(типа программа запустилась- а в памяти нули).
И если все забивается каждый раз случайным мусором-
то неправильная программа не заработает вообще.
 
jartmailru,, у вас тоже ссылка "ответить" не работает? У вас Опера?
 
Ну да ))
Не менять же привычки из-за прихотей программистов.
Причина обращения: