break vs continue in C++

  1. Verwenden Sie den Anweisungsoperator break, um den Schleifenkörper zu beenden
  2. Verwenden Sie die Anweisung continue, um einen Teil des Schleifenkörpers zu überspringen

Dieser Artikel demonstriert mehrere Methoden zur Verwendung von break und continue Anweisungen in C++.

Verwenden Sie den Anweisungsoperator break, um den Schleifenkörper zu beenden

Die break-Anweisung wird ähnlich wie continue als Sprunganweisung bezeichnet, die verwendet wird, um den Fluss der Programmausführung zu unterbrechen. In diesem Fall wird break verwendet, um die for-Schleifenanweisung zu beenden. Beachten Sie, dass das Programm beim Erreichen und Ausführen von break den Schleifenkörper verlässt und mit der nächsten Anweisung - cout << item << "3" - fortfährt. break muss in Verbindung mit einer Iterations- oder switch-Anweisung verwendet werden und wirkt sich nur auf die nächstgelegene umschließende Schleife/den nächsten switch aus.

#include <iostream>
#include <vector>

using std::cout; using std::cin;
using std::endl; using std::string;
using std::vector; using std::for_each;

int main() {
    vector<string> arr1 = {"Gull", "Hawk"};

    for (auto &item : arr1) {
        cout << item << " 1 " << endl;
        for (const auto &item1 : arr1) {
            cout << item << " 2 " << endl;
            if (item == "Hawk") {
                break;
            }
        }
        cout << item << " 3 " << endl;
    }

    return EXIT_SUCCESS;
}

Ausgabe:

Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3

Verwenden Sie die Anweisung continue, um einen Teil des Schleifenkörpers zu überspringen

Die continue-Anweisung ist das Sprachmerkmal, das verwendet werden kann, um die aktuelle Schleifeniteration zu beenden und mit der Ausführung der nächsten Iteration zu beginnen. Die Anweisung continue kann nur in for-, while- oder do while-Schleifen verwendet werden. Wenn die Anweisung innerhalb mehrerer verschachtelter Schleifenblöcke steht, unterbricht continue nur die Iteration des inneren Schleifenblocks und fährt mit der Auswertung des Bedingungsausdrucks fort.

Im folgenden Beispiel wird die continue-Anweisung erreicht, wenn das aktuelle Vektor-Element gleich Hawk ist. Sobald sie ausgeführt wurde, wertet das Programm den for-Schleifenausdruck aus und prüft, ob noch weitere Elemente im Vektor vorhanden sind. Wenn ja, wird die Zeile cout << Element << " 2" ausgeführt, andernfalls wird cout << Element << " 3 " erreicht.

#include <iostream>
#include <vector>

using std::cout; using std::cin;
using std::endl; using std::string;
using std::vector; using std::for_each;

int main() {
    vector<string> arr1 = {"Gull", "Hawk"};

    for (auto &item : arr1) {
        cout << item << " 1 " << endl;
        for (const auto &item1 : arr1) {
            cout << item << " 2 " << endl;
            if (item == "Hawk") {
                continue;
            }
        }
        cout << item << " 3 " << endl;
    }
    cout << endl;

    return EXIT_SUCCESS;
}

Ausgabe:

Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 2
Hawk 3