「テクニック - 2重ループを抜ける方法(C++)」の版間の差分
ナビゲーションに移動
検索に移動
細 (Wiki がページ「2重ループを抜ける方法(C++)」を「テクニック - 2重ループを抜ける方法(C++)」に、リダイレクトを残さずに移動しました) |
細 (文字列「/source」を「/syntaxhighlight」に置換) |
||
(同じ利用者による、間の1版が非表示) | |||
10行目: | 10行目: | ||
== サンプルコード == | == サンプルコード == | ||
< | <syntaxhighlight lang="c++"> | ||
[&]{ | [&]{ | ||
for (int i = 0; i < 5; i++) | for (int i = 0; i < 5; i++) | ||
25行目: | 25行目: | ||
} | } | ||
}(); | }(); | ||
</ | </syntaxhighlight> | ||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:C++]] | [[カテゴリ:C++]] |
2021年11月24日 (水) 18:06時点における最新版
概要
C++で多重ループから抜ける場合、以下の方法が考えられる。
- 終了フラグを使用する。
- goto文を使用する。
- 2重ループの箇所のみ関数化する。
- ラムダ式を使用する。
ここでは、4.のラムダ式を使用して2重ループを抜けるサンプルコードを記載する。
サンプルコード
[&]{
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;
}
}
}
}();