Никогда не полагайтесть на инициализацию по умолчанию, всегда инициализируйте переменные явно!
Не по фэншую. :) В любом случае я должен полагаться, в первую очередь, на документацию. Мало того - иногда явной инициаизацией ДЕФОЛТНЫМ значением я в коде специально показываю, что на это значение я полагаюсь, а в противном случае - переменная инициализируется где-то явно.
А вообще - конкретно эта ошибка - как раз из-за того, что инициализации не происходит. :)
jartmailru: Самое лучшее- это когда система задает для неинициализированных переменных случайные значения )). Тогда код случайно заработать в принципе не сможет.
И не такие чудеса бывают. Если где-то затирается стек, например. Читал как-то описание такой дивной ошибки - на пятом уровне вложенности, если мне склероз не изменяет, подробностей уже не помню. Человека, который её отладил даже специально премировали. :)
А меня умиляет публика (программисты!), объявляющие тип переменной в теле цикла... Лучшие говорят: да, неправильно, но-можно, если понимать. ЧТО понимать?
> А меня умиляет публика (программисты!), объявляющие тип переменной в теле цикла... > Лучшие говорят: да, неправильно, но-можно, если понимать. ЧТО понимать?
Переменные положено объявлять максимально близко к месту первого использования. В частности, ограничивая область видимости такой переменнойй при помощи scope. И этой правильной практике многие следуют.
> И не такие чудеса бывают. Если где-то затирается стек, например. Так нет же... Есть такие IDE, которые все объекты, которые освобождены- и неинициализированные, а также всю свободную память- забрасывают мусором. Специально. Чтобы не возникло ситуации, что программа случайно работает. (типа программа запустилась- а в памяти нули). И если все забивается каждый раз случайным мусором- то неправильная программа не заработает вообще.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Так в MT они вроде всегда инициализируются нулём?
Если объявление в теле цикла, это производит иллюзию, что переменая будет инициализироваться при каждом прохождении цикла, но нет.
Если объявление в теле цикла, это производит иллюзию, что переменая будет инициализироваться при каждом прохождении цикла, но нет.
Забавно. Никогда не обращал внимания, да и проблем с этим, вроде, не было. Проверю при случае. :)
А так-то подлянка конкретная, если подумать... :(
Так в MT они вроде всегда инициализируются нулём?
Никогда не полагайтесть на инициализацию по умолчанию, всегда инициализируйте переменные явно!
Тогда код случайно заработать в принципе не сможет.
Никогда не полагайтесть на инициализацию по умолчанию, всегда инициализируйте переменные явно!
Не по фэншую. :) В любом случае я должен полагаться, в первую очередь, на документацию. Мало того - иногда явной инициаизацией ДЕФОЛТНЫМ значением я в коде специально показываю, что на это значение я полагаюсь, а в противном случае - переменная инициализируется где-то явно.
А вообще - конкретно эта ошибка - как раз из-за того, что инициализации не происходит. :)
Самое лучшее- это когда система задает для неинициализированных переменных случайные значения )).
Тогда код случайно заработать в принципе не сможет.
> А меня умиляет публика (программисты!), объявляющие тип переменной в теле цикла...
> Лучшие говорят: да, неправильно, но-можно, если понимать. ЧТО понимать?
Переменные положено объявлять максимально близко к месту первого использования.
В частности, ограничивая область видимости такой переменнойй при помощи scope.
И этой правильной практике многие следуют.
Так нет же...
Есть такие IDE, которые все объекты, которые освобождены-
и неинициализированные, а также всю свободную память- забрасывают мусором.
Специально.
Чтобы не возникло ситуации, что программа случайно работает.
(типа программа запустилась- а в памяти нули).
И если все забивается каждый раз случайным мусором-
то неправильная программа не заработает вообще.
Не менять же привычки из-за прихотей программистов.