Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 20
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...
Нет, я имел ввиду:
{
}
for( int i = 0; i < x; i++ )
{
}
...
Да, а та конструкция, что написали Вы вообще не запустится.
У каждой переменной есть своя область видимости. Даже внутри фигурных скобок - своя область видимости для переменной, объявленной в этой области - внутри фигурных скобок. Так зачем мне, например, в разных местах программы плодить переменные индекса цикла с разными именами, если я знаю, что они не пересекаются, и достаточно, и привычно, использовать имя такой переменной как "i" ?
Я с Вами не спорил.
...
Нет, я имел ввиду:
{
}
for( int i = 0; i < x; i++ )
{
}
...
а смысл? Поделитесь пожалуйста опытом - в чем могут быть проблемы в данном случае, т.е если Ваш код был бы таким?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Я с Вами не спорил.
Это моя ветка. И там, где дают дурные не оптимальные советы, я вправе поправить человека. Вы, применительно к обсуждаемой ситуации даёте не верные советы.
Ваша ветка, тогда читайте внимательно и соотносите пост с ником, которому отвечаете.
Короче говоря - ошиблись адресом
а смысл? Поделитесь пожалуйста опытом - в чем могут быть проблемы в данном случае, т.е если Ваш код был бы таким?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Когда Вы инициализируете счетчик за пределами цикла - область видимости у него распространяется за предел этого цикла, что, обычно, не нужно. Тем самым Вы предоставляете плодотворную почву для возможных ошибок, например, если далее по коду у Вас будет переменная j, а Вы случайно назовете ее i. Или вместо индекса [1] массива напишите [i] и т.п.
Так что, переменные нужно инициализировать как можно ближе к месту их первого использования и стараться избегать большого количества глобальных переменных. Тем самым снижается перечень вероятных ошибок.
Когда Вы инициализируете счетчик за пределами цикла - область видимости у него распространяется за предел этого цикла, что, обычно, не нужно. Тем самым Вы предоставляете плодотворную почву для возможных ошибок, например, если далее по коду у Вас будет переменная j, а Вы случайно назовете ее i. Или вместо индекса [1] массива напишите [i] и т.п.
Так что, переменные нужно инициализировать как можно ближе к месту их первого использования и стараться избегать большого количества глобальных переменных. Тем самым снижается перечень вероятных ошибок.
for(....) то здесь причем?
Я в ауте.
Если написано i=0 и i++???
Ну и поменяйте мне в другом цикле i?
Не получится
for то здесь причем?
Я в ауте.
Вы можете быть где и в чем угодно, это Ваше право. Вы просили объяснить - я объяснил.
Здесь единственное нужно учесть, что после блока цикла i уже равно x при условии, что в цикле i<x
при этом Array[i] после for(...){} вернет ошибку выхода за границы массива и всё