break
statement
Bewirkt die Beendigung des umschließenden for -, range-for -, while - oder do-while -Schleife oder der switch-Anweisung .
Wird verwendet, wenn es anderweitig umständlich wäre, die Schleife mithilfe des Bedingungsausdrucks und bedingter Anweisungen zu beenden.
Inhaltsverzeichnis |
Syntax
attr
(optional)
break
;
|
|||||||||
| attr | - | (since C++11) beliebig viele Attribute |
Erklärung
Erscheint nur innerhalb der
Anweisung
eines Schleifenkörpers (
while
,
do-while
,
for
) oder innerhalb der
Anweisung
eines
switch
.
Nach dieser Anweisung wird die Steuerung an die Anweisung unmittelbar nach der umschließenden Schleife oder Switch-Anweisung übertragen. Wie bei jedem Blockende werden alle automatischen Speicherobjekte, die im umschließenden Verbund oder in der
Bedingung
einer Schleife/Switch-Anweisung deklariert wurden, in umgekehrter Reihenfolge ihrer Konstruktion zerstört, bevor die erste Zeile nach der umschließenden Schleife ausgeführt wird.
Hinweise
Eine break-Anweisung kann nicht verwendet werden, um aus mehreren verschachtelten Schleifen auszubrechen. Die goto-Anweisung kann für diesen Zweck verwendet werden.
Schlüsselwörter
Beispiel
#include <iostream> int main() { int i = 2; switch (i) { case 1: std::cout << "1"; // <---- mögliche Warnung: Fall-through case 2: std::cout << "2"; // Ausführung beginnt bei diesem Case-Label (+Warnung) case 3: std::cout << "3"; // <---- mögliche Warnung: Fall-through case 4: // <---- mögliche Warnung: Fall-through case 5: std::cout << "45"; // break; // Ausführung nachfolgender Anweisungen wird beendet case 6: std::cout << "6"; } std::cout << '\n'; for (char c = 'a'; c < 'c'; c++) { for (int i = 0; i < 5; i++) // Nur diese Schleife wird von break beeinflusst { // if (i == 2) // break; // std::cout << c << i << ' '; // } } std::cout << '\n'; }
Mögliche Ausgabe:
2345 a0 a1 b0 b1
Siehe auch
[[
fallthrough
]]
(C++17)
|
zeigt an, dass das Fallthrough vom vorherigen Case-Label beabsichtigt ist und nicht von einem Compiler diagnostiziert werden sollte, der vor Fallthrough warnt
(Attribut-Spezifizierer) |
|
C-Dokumentation
für
break
|
|