C++ 循环控制语句:中断并继续

示例

循环控制语句用于从正常顺序更改执行流程。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。该break和continue是循环控制语句。

该break语句无需进一步考虑即可终止循环。

for (int i = 0; i < 10; i++)
{
    if (i == 4)
        break; // 这将立即退出我们的循环
    std::cout << i << '\n';
}

上面的代码将打印出来:

1
2
3

该continue语句不会立即退出循环,而是会跳过循环主体的其余部分并转到循环的顶部(包括检查条件)。

for (int i = 0; i < 6; i++)
{
    if (i % 2 == 0) // 如果我是偶数,则评估为真
        continue; // 这将立即回到循环的开始
    /* the next line will only be reached if the above "continue" statement 
       does not execute  */
    std::cout << i << " is an odd number\n";
}

上面的代码将打印出来:

1 is an odd number
3 is an odd number
5 is an odd number

因为这样的控制流量的变化有时难以用于人容易理解,break并且continue被谨慎使用。通常,更直接的实现通常更容易阅读和理解。例如,for具有break上述内容的第一个循环可能被重写为:

for (int i = 0; i < 4; i++)
{
    std::cout << i << '\n';
}

的第二个示例continue可能被重写为:

for (int i = 0; i < 6; i++)
{
    if (i % 2 != 0) {
        std::cout << i << " is an odd number\n";
    }
}