テクニック - 2重ループを抜ける方法(C++)
ナビゲーションに移動
検索に移動
概要
C++で多重ループから抜ける場合、以下の方法が考えられる。
- 終了フラグを使用する。
- goto文を使用する。
- 2重ループの箇所のみ関数化する。
- ラムダ式を使用する。
ここでは、4.のラムダ式を使用して2重ループを抜けるサンプルコードを記載する。
サンプルコード
<syntaxhighlight lang="c++"> [&]{ for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j+) { std::cout << "[" << i << ", " << j << "]" << std::endl; if (3 <= i && 4 <= j) { std::cout << "end" << std::endl; return; } } } }(); </source>