break vs continue in C++
-
Verwenden Sie den Anweisungsoperator
break
, um den Schleifenkörper zu beenden -
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::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
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