Istruzione break (C++)
L'istruzione break termina l'esecuzione del ciclo di inclusione più vicino o dell'istruzione condizionale in cui appare. Il controllo passa all'istruzione che segue la fine dell'istruzione, se presente.
break;
Note
L'istruzione break viene utilizzata con l'istruzione switch condizionale e con le istruzioni del ciclo do, for e while.
In un'istruzione switch l'istruzione break fa sì che il programma esegua l'istruzione successiva all'esterno dell'istruzione switch. Senza un'istruzione break, viene eseguita ogni istruzione corrispondente all'etichetta case fino alla fine dell'istruzione switch, inclusa la clausola default.
Nei cicli l'istruzione break termina l'esecuzione dell'istruzione do, foro while di inclusione più vicina. Il controllo passa all'istruzione che segue l'istruzione terminata, se presente.
Nelle istruzioni annidate l'istruzione break termina solo l'istruzione do, for, switch o while che la include. È possibile utilizzare un'istruzione goto o return per trasferire il controllo da strutture maggiormente annidate.
Esempio
Nel codice seguente viene illustrato come utilizzare l'istruzione break in un ciclo for.
#include <iostream>
using namespace std;
int main()
{
// An example of a standard for loop
for (int i = 1; i < 10; i++)
{
cout << i << '\n';
if (i == 4)
break;
}
// An example of a range-based for loop
int nums []{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i : nums) {
if (i == 4) {
break;
}
cout << i << '\n';
}
}
Nel codice seguente viene illustrato come utilizzare break in un ciclo while e un ciclo do.
#include <iostream>
using namespace std;
int main() {
int i = 0;
while (i < 10) {
if (i == 4) {
break;
}
cout << i << '\n';
i++;
}
i = 0;
do {
if (i == 4) {
break;
}
cout << i << '\n';
i++;
} while (i < 10);
}
Nel codice seguente viene illustrato come utilizzare break in un'istruzione switch. È necessario utilizzare break in ogni caso se si desidera gestire separatamente ogni caso. Se non si utilizza break, l'esecuzione del codice passa al caso successivo.
#include <iostream>
using namespace std;
enum Suit{ Diamonds, Hearts, Clubs, Spades };
int main() {
Suit hand;
. . .
// Assume that some enum value is set for hand
// In this example, each case is handled separately
switch (hand)
{
case Diamonds:
cout << "got Diamonds \n";
break;
case Hearts:
cout << "got Hearts \n";
break;
case Clubs:
cout << "got Clubs \n";
break;
case Spades:
cout << "got Spades \n";
break;
default:
cout << "didn't get card \n";
}
// In this example, Diamonds and Hearts are handled one way, and
// Clubs, Spades, and the default value are handled another way
switch (hand)
{
case Diamonds:
case Hearts:
cout << "got a red card \n";
break;
case Clubs:
case Spades:
default:
cout << "didn't get a red card \n";
}
}