break vs continue en C++

Jinku Hu 12 octobre 2023
  1. Utiliser l’opérateur de déclaration break pour terminer le corps de la boucle
  2. Utiliser l’instruction continue pour sauter une partie du corps de la boucle
break vs continue en C++

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
Auteur: 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

Article connexe - C++ Loop