名前空間
変種
操作

break 文

提供: cppreference.com
< cpp‎ | language
 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
continue - break  
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定 (C++20未満)
noexcept 指定子 (C++11)
例外
名前空間
指定子
decltype (C++11)
auto (C++11)
alignas (C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr (C++11)
ユーザ定義 (C++11)
ユーティリティ
属性 (C++11)
typedef 宣言
型エイリアス宣言 (C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
ラベル
label : statement
式文
expression ;
複文
{ statement... }
選択文
if
switch
繰り返し文
while
do-while
for
範囲 for(C++11)
ジャンプ文
break
continue
return
goto
宣言文
declaration ;
try ブロック
try compound-statement handler-sequence
トランザクショナルメモリ
synchronized, atomic_commit など(TM TS)
 

囲っている for範囲 forwhiledo-while ループまたは switch 文を終了させます。

条件式と条件文を用いてループを終了させるのが手間なときに使用されます。

目次

[編集] 構文

attr(オプション) break ;

[編集] 説明

この文の後、制御は囲っているループまたは switch の直後の文に転送されます。 あらゆるブロック終了と同様に、囲っている複文の中やループまたは switch の condition の中で宣言されたすべての自動記憶域期間のオブジェクトは、囲っているループの次の行の実行前に、構築の逆順で破棄されます。

[編集] キーワード

break

[編集] ノート

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

[編集] 関連項目