break vs continue en C++
-
Utiliser l’opérateur de déclaration
break
pour terminer le corps de la boucle -
Utiliser l’instruction
continue
pour sauter une partie du corps de la boucle
Cet article présente plusieurs méthodes pour utiliser les instructions break
ou continue
en C++.
Utiliser l’opérateur de déclaration break
pour terminer le corps de la boucle
L’instruction break
, similaire à continue
, est appelée instruction jump
, qui est utilisée pour interrompre le flux d’exécution du programme. Dans ce cas, break
est utilisé pour terminer l’instruction de boucle for
. Notez que, lorsque le break
est atteint et exécuté, le programme quitte le corps de la boucle et continue à partir de l’instruction suivante - cout << item << "3"
. Break doit être utilisé en conjonction avec l’itération ou l’instruction switch
et il n’affecte que la boucle/switch
la plus proche.
#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;
}
Production :
Gull 1
Gull 2
Gull 2
Gull 3
Hawk 1
Hawk 2
Hawk 3
Utiliser l’instruction continue
pour sauter une partie du corps de la boucle
L’instruction continue
est la caractéristique de langage qui peut être utilisée pour terminer l’itération de la boucle de courant et commencer à exécuter l’itération suivante. Continue ne peut être utilisée que dans les boucles for
, while
ou do while
. Si l’instruction est placée à l’intérieur de plusieurs blocs de boucle imbriqués, continue
n’interrompra que l’itération du bloc de boucle interne et passera à l’évaluation de l’expression de la condition.
Dans l’exemple suivant, l’instruction continue
est atteinte si l’élément vector
actuel est égal à Hawk
. Une fois qu’il est exécuté, le programme évalue l’expression de la boucle for
, actuellement s’il reste d’autres éléments dans le vecteur. Si elle est vraie, la ligne cout << item << " 2 "
est exécutée, sinon cout << item << " 3 "
est atteinte.
#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;
}
Production :
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