continue 语句
来自cppreference.com
终止当前迭代。
语法
属性 (可选) continue ;
|
|||||||||
| 属性 | - | (C++11 起) 任意数量的属性 |
解释
continue 语句必须被以下任意语句包围:
| (C++26 起) |
对于迭代语句
执行 continue 语句时,如果包围该语句的此类语句中最内层的语句是迭代语句,那么控制会转移到该迭代语句的语句(即循环体)的末尾。
while (/* ... */)
{
/* 会执行的语句 */
continue;
/* 会跳过的语句 */
}
do
{
/* 会执行的语句 */
continue;
/* 会跳过的语句 */
} while (/* ... */)
for (/* ... */)
{
/* 会执行的语句 */
continue;
/* 会跳过的语句 */
}
对于展开语句执行 template for (/* ... */)
{
if (/* 当前是第 N 项 */)
continue;
/* 只会在第 N 项跳过的语句 */
}
|
(C++26 起) |
关键词
示例
运行此代码
#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 << ") ";
}
std::cout << '\n';
}
输出:
5
(0,0) (0,1) (0,2) (0,4) (1,0) (1,1) (1,2) (1,4)
参阅
continue 的 C 文档
|