Пространства имён
Варианты
Действия

Оператор continue

Материал из cppreference.com
< cpp‎ | language
 
 
 
Инструкции
Метки
метка : оператор
Операторы выражений
выражение ;
Составные операторы
{ оператор... }
Операторы выбора
if
switch
Операторы итерирования
while
do-while
for
диапазонный for(C++11)
Операторы переходов
break
continue
return
goto
Операторы объявления
объявление ;
Блоки try
try составной-оператор последовательность-обработчиков
Транзакционная память
synchronized, atomic_commit, и т.д. (ТС TM)
 

Заставляет оставшуюся часть окружающего тела цикла for, range-for, while или do-while быть пропущенным.

Используется, когда иначе неудобно игнорировать оставшуюся часть цикла, используя условные операторы.

Содержание

[править] Синтаксис

атрибуты (необязательно) continue ;

[править] Объяснение

Оператор continue вызывает переход, как если бы по goto, в конец тела цикла (он может появляться только в теле циклов for, диапазонный-for, while и do-while).

Точнее,

Для цикла while он действует:

while (/* ... */) {
   // ... 
   continue; // как goto contin;
   // ...
   contin:;
}

Для цикла do-while он действует:

do {
    // ...
    continue; // как goto contin;
    // ...
    contin:;
} while (/* ... */);

Для циклов for и диапазонный-for он действует:

for (/* ... */) {
    // ...
    continue; // как goto contin;
    // ...
    contin:;
}

[править] Ключевые слова

continue

[править] Пример

#include <iostream>
 
int main() 
{
    for (int i = 0; i < 10; i++)
    {
        if (i != 5) continue;
        std::cout << i << " ";       //этот оператор пропускается каждый раз, когда i!=5
    }
 
    std::cout << '\n';
 
    for (int j = 0; j < 2; j++)
    {
        for (int k = 0; k < 5; k++)
        {
            //только на этот цикл влияет continue
            if (k == 3) continue;
            //этот оператор пропускается каждый раз, когда k==3
            std::cout << '(' << j << ',' << k << ") ";
        }
    }
}

Вывод:

5
(0,0) (0,1) (0,2) (0,4) (1,0) (1,1) (1,2) (1,4)

[править] Смотрите также