Спс за эту подсказку, а то я немного дипреснулся когда подумал "сколько же мне надо будет кавычек дописать, ни одной не пропустить и в нужные места вставить". Возможность такай записи вернула меня к жизни.
paladin80: Возможность такай записи вернула меня к жизни.
просто помните, что если в цикле/условии есть только один оператор, то кавычки можно не использовать.
главное, не попасться на вложенных условиях типа:
if (cond1)
{
if (cond2) operator1;
else operator2;
}
записывать вот так нельзя:
if (cond1)
if (cond2) operator1;
else operator2;
так как оператор else непонятно к чему относится
к cond1 или cond2.
просто помните, что если в цикле/условии есть только один оператор, то кавычки можно не использовать.
главное, не попасться на вложенных условиях типа:
if (cond1)
{
if (cond2) operator1;
else operator2;
}
записывать вот так нельзя:
if (cond1)
if (cond2) operator1;
else operator2;
так как оператор else непонятно к чему относится
к cond1 или cond2.
Вообще-то тут вроде как все однозначно: else относится к ближайшему раннему if, не закрытому else. Или я тут чего-то не понимаю?
Но в любом случае, если есть сомнения, лучше ставить всевозможные скобки - и фигурные, и круглые. Я стараюсь так делать всегда, если структура нетривиальна.
Вообще-то тут вроде как все однозначно: else относится к ближайшему раннему if, не закрытому else. Или я тут чего-то не понимаю?
Но в любом случае, если есть сомнения, лучше ставить всевозможные скобки - и фигурные, и круглые. Я стараюсь так делать всегда, если структура нетривиальна.
прогер можето запросто ошибиться, имея ввиду такое
if(cond1)
{ if (cond2) operator1; }
elseoperator2;
а не такое
if (cond1)
{
if(cond2) operator1;
elseoperator2;
}
Добрые люди подскажите (или киньте линк, где мой вопрос обсуждался), какая конструкция по быстродействию лучше 1 или 2:
2.
так как мы точно не уверены, что в МТ4 операции && проверяются по порядку, с прерыванием при false
2.
так как мы точно не уверены, что в МТ4 операции && проверяются по порядку, с прерыванием при false
Спс за инфо, поправлю свой код.
для экономии чтения я обычно записываю так:
для экономии чтения я обычно записываю так:
Возможность такай записи вернула меня к жизни.
просто помните, что если в цикле/условии есть только один оператор, то кавычки можно не использовать.
главное, не попасться на вложенных условиях типа:
Совет понятен. А есть ли противопоказания к использованию || (или), напр тут:
.
просто помните, что если в цикле/условии есть только один оператор, то кавычки можно не использовать.
главное, не попасться на вложенных условиях типа:
Вообще-то тут вроде как все однозначно: else относится к ближайшему раннему if, не закрытому else. Или я тут чего-то не понимаю?
Но в любом случае, если есть сомнения, лучше ставить всевозможные скобки - и фигурные, и круглые. Я стараюсь так делать всегда, если структура нетривиальна.
Совет понятен. А есть ли противопоказания к использованию || (или), напр тут:
не, ну знак || уже не раскидаешь на if "подряд".
разве что через промежуточную переменную
bool b1=A1 || A2; // тут можно длинные условия лепить
if (b1) // а тут b1 можно сочетать с разными другими условиямиВообще-то тут вроде как все однозначно: else относится к ближайшему раннему if, не закрытому else. Или я тут чего-то не понимаю?
Но в любом случае, если есть сомнения, лучше ставить всевозможные скобки - и фигурные, и круглые. Я стараюсь так делать всегда, если структура нетривиальна.
прогер можето запросто ошибиться, имея ввиду такое
а не такое
понимаешь?
Понимаю, конечно. Но опытный кодер так не ошибется, потому что поставит фигурные скобки сразу там, где надо, даже если там еще ничего нет :)
А неопытный, который экономит на скобках и строках (как будто это бумага), конечно, сильнее подвержен риску ошибиться.
Я просто сказал о правиле парсинга, принятом в современных языках, если фигурных скобок нет.