Переход continue
Оператор continue прерывает выполнение текущей итерации самого внутреннего цикла, содержащего continue, и инициирует следующую итерацию. Оператор может использоваться только внутри циклов for, while и do. Выполнение continue внутри for приводит к очередному расчету выражения в заголовке цикла (инкремент/декремент переменной цикла), после чего проверяется условие на продолжение цикла. Выполнение continue внутри while или do сразу приводит к проверке условия в заголовке цикла.
Инструкция состоит из ключевого слова continue и точки с запятой:
continue ; |
Она обычно помещается в одну из веток условного оператора if/else или switch.
Например, мы можем сгенерировать таблицу умножения с пропусками: когда произведение двух индексов нечетное, соответствующий элемент массива останется нулевым (StmtJumpContinue.mq5).
int a[10][10] = {0};
|
А вот как можно подсчитать сумму положительных элементов массива.
int b[10] = {1, -2, 3, 4, -5, -6, 7, 8, -9, 10};
|
Обратите внимание, что этот же цикл можно переписать без continue, но с большей вложенностью блоков кода:
for(int i = 0; i < 10; ++i)
|
Таким образом, оператор continue часто применяется для упрощения форматирования кода (особенно, если условий для "отсечки" несколько), но какой из двух подходов выбрать — вопрос личных предпочтений.