break vs continue in C++

Jinku Hu 12 Oktober 2023
  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
break vs continue in C++

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::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;

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::cin;
using std::cout;
using std::endl;
using std::for_each;
using std::string;
using std::vector;

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
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - C++ Loop