break
istruzione (C++)
L'istruzione break
termina l'esecuzione del ciclo di inclusione più vicino o dell'istruzione condizionale in cui viene visualizzata. Il controllo passa all'istruzione che segue la fine dell'istruzione, se presente.
Sintassi
break;
Osservazioni:
L'istruzione break
viene usata con l'istruzione condizionale switch
e con le do
istruzioni ciclo , for
e while
.
In un'istruzione switch
, l'istruzione break
fa sì che il programma eseeva l'istruzione successiva all'esterno dell'istruzione switch
. Senza un'istruzione break
, viene eseguita ogni istruzione dall'etichetta corrispondente case
alla fine dell'istruzione switch
, inclusa la default
clausola .
Nei cicli, l'istruzione termina l'esecuzione break
dell'istruzione , , o while
più do
for
vicina. Il controllo passa all'istruzione che segue l'istruzione terminata, se presente.
All'interno di istruzioni nidificate, l'istruzione break
termina solo l'istruzione do
, for
switch
, o while
che lo racchiude immediatamente. È possibile usare un'istruzione return
o goto
per trasferire il controllo da strutture più annidate.
Esempio
Il codice seguente illustra come usare l'istruzione break
in un for
ciclo.
#include <iostream>
using namespace std;
int main()
{
// An example of a standard for loop
for (int i = 1; i < 10; i++)
{
if (i == 4) {
break;
}
cout << i << '\n';
}
// 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';
}
}
1
2
3
1
2
3
Il codice seguente illustra come usare break
in un while
ciclo e in un do
ciclo.
#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);
}
0
1
2
3
0
1
2
3
Il codice seguente illustra come usare break
in un'istruzione switch. È necessario usare break
in ogni caso se si vuole gestire ogni caso separatamente. Se non si usa break
, l'esecuzione del codice rientra nel 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";
}
}