テクニック - 2重ループを抜ける方法(C++)

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

C++で多重ループから抜ける場合、以下の方法が考えられる。

  1. 終了フラグを使用する。
  2. goto文を使用する。
  3. 2重ループの箇所のみ関数化する。
  4. ラムダ式を使用する。


ここでは、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;
             }
          }
       }
    }();