break vs continue in C++
-
Utilizzare l’operatore di istruzione
break
per terminare il corpo del bucle -
Utilizzare l’istruzione
continue
per saltare la parte del corpo del loop
Questo articolo mostrerà diversi metodi su come usare le istruzioni break
e continue
in C++.
Utilizzare l’operatore di istruzione break
per terminare il corpo del bucle
L’istruzione break
simile a continue
è chiamata istruzione jump, che viene utilizzata per interrompere il flusso di esecuzione del programma. In questo caso, break
viene utilizzato per terminare l’istruzione del cicli for
. Notare che, quando la rottura
viene raggiunta ed eseguita, il programma lascia il corpo del bucle e continua dall’istruzione successiva - cout << item << "3"
. break
deve essere usato insieme all’iterazione o all’istruzione switch
e influenza solo il loop / switch
più vicino.
#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;
}
Produzione:
Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3
Utilizzare l’istruzione continue
per saltare la parte del corpo del loop
L’istruzione continue
è la caratteristica del linguaggio che può essere utilizzata per terminare l’iterazione del bucle corrente e iniziare a eseguire l’iterazione successiva. continue
può essere utilizzato solo nei cicli for
, while
o do while
. Se l’istruzione viene inserita all’interno di più blocchi di bucle annidati, continue
interromperà solo l’iterazione del blocco di bucle interno e passerà alla valutazione dell’espressione della condizione.
Nell’esempio seguente, l’istruzione continue
viene raggiunta se l’elemento vector
corrente è uguale a Hawk
. Una volta eseguito, il programma valuta l’espressione del cicli for
, attualmente se ci sono altri elementi rimasti nel vettore
. Se vero, viene eseguita la linea cout << item << " 2 "
, altrimenti viene raggiunto cout << item << " 3 "
.
#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;
}
Produzione:
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