命名空间
变体
操作

break 语句

来自 cppreference.cn
< cpp‎ | 语言
 
 
C++ 语言
 
 

使包含的 forrange-forwhiledo-while 循环或 switch 语句终止。

当使用条件表达式和条件语句终止循环不方便时使用。

目录

[编辑] 语法

attr (可选) break ;
属性 - (自 C++11 起) 任意数量的属性

[编辑] 解释

仅出现在循环体(whiledo-whilefor)的 statement 中,或 switchstatement 中。此语句执行后,控制权将转移到紧跟在包含循环或 switch 之后的语句。与任何块退出一样,在执行包含循环后的第一行之前,在包含复合语句或循环/switch 的 condition 中声明的所有自动存储对象都将以与构造相反的顺序销毁。

[编辑] 注意

break 语句不能用于跳出多个嵌套循环。goto 语句可用于此目的。

[编辑] 关键词

break

[编辑] 示例

#include <iostream>
 
int main()
{
    int i = 2;
    switch (i)
    {
        case 1: std::cout << "1";   // <---- maybe warning: fall through
        case 2: std::cout << "2";   // execution starts at this case label (+warning)
        case 3: std::cout << "3";   // <---- maybe warning: fall through
        case 4:                     // <---- maybe warning: fall through
        case 5: std::cout << "45";  //
                break;              // execution of subsequent statements is terminated
        case 6: std::cout << "6";
    }
    std::cout << '\n';
 
    for (char c = 'a'; c < 'c'; c++)
    {
        for (int i = 0; i < 5; i++)      // only this loop is affected by break
        {                                //
            if (i == 2)                  //
                break;                   //
            std::cout << c << i << ' ';  //
        }
    }
    std::cout << '\n';
}

可能的输出

2345
a0 a1 b0 b1

[编辑] 参阅

(C++17)
指示从前一个 case 标签的直落是故意的,不应被警告直落的编译器诊断
(属性说明符)[编辑]
C 文档 关于 break