「テクニック - 2重ループを抜ける方法(C++)」の版間の差分
ナビゲーションに移動
検索に移動
細 (Wiki がページ「2重ループを抜ける方法(C++)」を「テクニック - 2重ループを抜ける方法(C++)」に、リダイレクトを残さずに移動しました) |
細 (文字列「<source lang="c++">」を「<syntaxhighlight lang="c++">」に置換) |
||
10行目: | 10行目: | ||
== サンプルコード == | == サンプルコード == | ||
< | <syntaxhighlight lang="c++"> | ||
[&]{ | [&]{ | ||
for (int i = 0; i < 5; i++) | for (int i = 0; i < 5; i++) |
2021年11月24日 (水) 18:06時点における版
概要
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>