名稱空間
變體
操作

break 語句

來自 cppreference.com
< 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