C++でのforループ内でのイテレーションスキップ方法


  1. continueステートメントを使用する方法:

    for (int i = 0; i < 10; i++) {
    if (i == 3) {
        continue; // イテレーションをスキップする
    }
    // ここにスキップされなかったイテレーションの処理を記述する
    cout << i << endl;
    }

    上記の例では、iが3の場合にcontinueステートメントが実行され、ループの残りのコードがスキップされます。その後、次のイテレーションが開始されます。

  2. 条件式を使用してイテレーションをスキップする方法:

    for (int i = 0; i < 10; i++) {
    if (i == 3) {
        // イテレーションをスキップする条件
        continue; // イテレーションをスキップする
    }
    // ここにスキップされなかったイテレーションの処理を記述する
    cout << i << endl;
    }

    上記の例では、if文内の条件式がtrueの場合にcontinueステートメントが実行され、イテレーションがスキップされます。

  3. フラグを使用してイテレーションを制御する方法:

    bool skipIteration = false;
    for (int i = 0; i < 10; i++) {
    if (skipIteration) {
        skipIteration = false; // フラグをリセット
        continue; // イテレーションをスキップする
    }
    if (i == 3) {
        skipIteration = true; // イテレーションをスキップするフラグを設定
    }
    // ここにスキップされなかったイテレーションの処理を記述する
    cout << i << endl;
    }

    上記の例では、フラグskipIterationを使用してイテレーションを制御しています。特定の条件が満たされた場合にフラグをセットし、次のイテレーションでスキップするようにしています。

これらはいくつかの一般的な方法ですが、C++では他にもさまざまな方法があります。具体的な要件に応じて、適切な方法を選択してください。