break — instrukcja (C++)
Instrukcja break kończy wykonywanie najbliższej otaczającej pętli lub instrukcji warunkowej, w której występuje.Jeśli po końcu przerwanej instrukcji występuje kolejna, sterowanie przechodzi do niej.
break;
Uwagi
Instrukcja break jest używana z instrukcją warunkową switch, a także z instrukcjami pętli do, for i while.
W instrukcji switch, instrukcja break powoduje, że program wykonuje kolejną instrukcję, która występuje po instrukcji switch.Bez instrukcji break, wykonywane są wszystkie instrukcje od dopasowanej etykiety case do końca instrukcji switch, łącznie z klauzulą default.
W pętlach, instrukcja break kończy wykonywanie najbliższej otaczającej instrukcji do, for lub while.Sterowanie przechodzi do instrukcji następującej po zakończonej, jeśli taka istnieje.
W obrębie zagnieżdżonych instrukcji, instrukcja break kończy tylko instrukcję do, for, switch lub while, która bezpośrednio ją obejmuje.Można użyć instrukcji return lub goto, aby przekazać sterowanie z głębiej zagnieżdżonych struktur.
Przykład
Poniższy kod przedstawia sposób używania instrukcji break w pętli 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';
}
}
Poniższy kod przedstawia sposób używania instrukcji break w pętli while i pętli 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);
}
Poniższy kod przedstawia sposób używania instrukcji break w instrukcji switch.Należy użyć break zawsze, jeśli chcesz obsługiwać każde wystąpienie case oddzielnie; jeśli nie używasz break, wykonanie kodu przejdzie do następnego wystąpienia case.
#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";
}
}