continue оператор
Завершает текущую итерацию.
Синтаксис
attr (необязательно) continue ; |
| attr | - | (начиная с C++11) любое количество атрибутов |
Пояснение
Оператор continue должен быть вложен в один из следующих операторов:
-
операторы цикла (
for, range-for,whileилиdo-while)
| (начиная с C++26) |
Для операторов цикла
При выполнении оператора continue, если ближайший охватывающий его оператор является оператором цикла, управление передаётся в конец оператора элемента цикла (то есть тела цикла).
while (/* ... */)
{
/* executed statements */
continue;
/* skipped statements */
}
do
{
/* executed statements */
continue;
/* skipped statements */
} while (/* ... */)
for (/* ... */)
{
/* executed statements */
continue;
/* skipped statements */
}
Для операторов раскрытияПри выполнении оператора continue, если ближайший охватывающий его оператор является оператором раскрытия, управление передаётся в конец составного оператора текущего элемента раскрытия. template for (/* ... */)
{
if (/* current item is the Nth */)
continue;
/* statements only skipped for the Nth item */
}
| (начиная с C++26) |
Ключевые слова
Пример
#include <iostream>
int main()
{
for (int i = 0; i < 10; ++i)
{
if (i != 5)
continue;
std::cout << i << ' '; // this statement is skipped each time i != 5
}
std::cout << '\n';
for (int j = 0; 2 != j; ++j)
for (int k = 0; k < 5; ++k) // only this loop is affected by continue
{
if (k == 3)
continue;
// this statement is skipped each time k == 3:
std::cout << '(' << j << ',' << k << ") ";
}
std::cout << '\n';
}
Вывод:
5 (0,0) (0,1) (0,2) (0,4) (1,0) (1,1) (1,2) (1,4)
См. также
Документация по C для continue |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/language/continue