break 语句
来自cppreference.com
导致外围的 for、范围 for、while 或 do-while 循环或 switch 语句终止。
在用条件表达式和条件语句终止循环显得笨拙时使用。
语法
属性(可选) break ;
|
|||||||||
解释
此语句之后,控制将被转移到紧跟其外围循环或 switch 的下一位置。与退出任何代码块一样,在执行外围循环之后的下一行之前,所有在外围复合语句或循环/switch 的 条件 中声明的具有自动存储期的变量,按照它们构造的逆序销毁。
关键词
注解
break 语句不能用于跳出多重嵌套循环。这种情况可以使用 goto 语句。
示例
运行此代码
#include <iostream> int main() { int i = 2; switch (i) { case 1: std::cout << "1"; //<---- 可能会有警告:直落 case 2: std::cout << "2"; //从此 case 标号开始执行(+警告) case 3: std::cout << "3"; //<---- 可能会有警告:直落 case 4: //<---- 可能会有警告:直落 case 5: std::cout << "45"; break; //终止后续语句的执行 case 6: std::cout << "6"; } std::cout << '\n'; for (int j = 0; j < 2; j++) { for (int k = 0; k < 5; k++) { // break 只会影响此循环 if (k == 2) break; std::cout << j << k << " "; } } }
输出:
2345 00 01 10 11
参阅
[[fallthrough]] (C++17)
|
指示从上一个 case 标签的直落是有意的,会对直落进行警告的编译器不应对此进行诊断 |