名前空間
変種
操作

break

From cppreference.com
< cpp‎ | language
 
 
C++言語
全般
フロー制御
条件実行文
if
繰り返し文 (ループ)
for
範囲for (C++11)
ジャンプ文
continue - break
関数
関数宣言
ラムダ式
inline指定子
動的例外仕様 (C++17まで*)
noexcept指定子 (C++11)
例外
名前空間
指定子
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点数
文字 - 文字列 - nullptr (C++11)
ユーザー定義 (C++11)
ユーティリティ
属性 (C++11)
typedef宣言
型エイリアス宣言 (C++11)
キャスト
メモリ確保
クラス
クラス固有の関数プロパティ
explicit (C++11)
static

特殊メンバ関数
テンプレート
その他
 
 

囲んでいるforrange-forwhiledo-whileループ、またはswitch文を終了させます。

条件式や条件文を使ってループを終了させるのが難しい場合に、この文が使われます。

目次

[編集] 構文

attr (省略可能) break ;
attr - (C++11以降) 任意の数の属性

[編集] 説明

ループ本体 (while, do-while, for) の内、またはswitch内にのみ現れます。この文の後、制御は囲んでいるループまたはswitchの直後の文に転送されます。ブロックを抜ける際と同様に、囲んでいる複合文またはループ/switchの条件で宣言されたすべての自動記憶域オブジェクトは、囲んでいるループの直後の最初の行が実行される前に、構築とは逆順に破棄されます。

[編集] 備考

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)
前のケースラベルからのフォールスルーが意図的なものであり、フォールスルーについて警告するコンパイラによって診断されるべきではないことを示します
(属性指定子)[編集]
English 日本語 中文(简体) 中文(繁體)