C ++ Пропуск остальной части текущей итерации `for` и начало новой. - PullRequest
15 голосов
/ 23 сентября 2011

Рассмотрим этот код C ++

for(int i=0; i<=N; ++i)

{

if(/* Some condition 1 */) {/*Blah Blah*/}

if(/* Some condition 2  */){/*Yadda Yadda*/}

}

Есть ли какое-либо ключевое слово / команда, так что если условие 1 оценивается как true и выполнение /*Blah Blah*/, я могу пропустить оставшуюся часть текущей итерации и начатьновая итерация путем увеличения i.

Самое близкое, что я знаю к этому виду пропуска операторов, это break, но это полностью завершает цикл.

Полагаю, можно было бы сделать это, используя некоторые флаги и операторы if, но простое ключевое слово было бы очень полезно.

Ответы [ 3 ]

33 голосов
/ 23 сентября 2011

Используйте ключевое слово continue, и оно «продолжится» до следующей итерации цикла.

4 голосов
/ 23 сентября 2011

Этот случай кажется более подходящим для случая, если .. else .., чем для продолжения, хотя continue будет работать нормально.

for(int i=0; i<=N; ++i)
{
    if(/* Some condition 1 */)
    {/*Blah Blah*/}
    else if(/* Some condition 2  */)
    {/*Yadda Yadda*/}
}
1 голос
/ 23 сентября 2011

Использование оператора Continue останавливает текущий цикл и продолжает следующий, а не прерывает его полностью

Продолжить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...