break vs continue in C++

Jinku Hu 12 ottobre 2023
  1. Utilizzare l’operatore di istruzione break per terminare il corpo del bucle
  2. Utilizzare l’istruzione continue per saltare la parte del corpo del loop
break vs continue in C++

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

Articolo correlato - C++ Loop