Во время проверки коды сегодня, я наткнулся на цикл, который выглядит следующим образом:Multiple условие для цикла
for(int i=0; i<some_value && !found ; ++i)
{
if(some logic)
{
do_stuff();
found=true;
}
}
Я обычно код вещь такого рода, как это:
for(int i=0; i<some_value; ++i)
{
if(some logic)
{
do_stuff();
break;
}
}
У меня есть был программированием в течение многих лет и никогда до сих пор не видел более одного условия в цикле for
. Я понимаю, что это абсолютно правильный код, так как &&
просто получает оценку и результат возвращается, я просто никогда не думал об использовании нескольких условий внутри для оператора вместо тела.
Я не видел этого до сегодняшнего дня и поэтому должен считать, что это не очень распространено.
Есть ли подводные камни, которые следует учитывать при использовании нескольких условий для проверки цикла?
* «Если этот вопрос не подходит для StackOverflow, пожалуйста, помогите мне настроить его так, как он есть, или переместить его на соответствующий форум». * Я думаю, что SO не является * форумом *, но [Code Review] (http://codereview.stackexchange.com/) может быть более подходящим для этого вопроса, см. [Обзор кода: о каких темах я могу задать здесь?] (http://codereview.stackexchange.com/help/on-topic). – dyp
@ DyP Возможно ... Я не знаю. Я пытаюсь спросить о языках C/C++, а не только стиле. Спасибо за ваши мысли. – kmort
В простом цикле, как явственно, явный разрыв, очевидно, легче следовать (на мой взгляд, другие могут ошибаться). Если есть вложенные петли, это менее ясно: вы не можете вырваться из внешнего из внутреннего, поэтому ваши параметры являются флагом, 'goto' или рефакторингом внутреннего цикла в отдельную функцию. –