C++ goto-Anweisung
gotoDie Anweisung ermöglicht es, die Kontrolle bedingungslos an eine beschriftete Anweisung innerhalb derselben Funktion zu übertragen.
Hinweis:In jeder Programmiersprache wird die Verwendung der goto-Anweisung nicht empfohlen. Denn sie macht den Kontrollfluss des Programms schwer nachvollziehbar, wodurch das Programm schwer zu verstehen und schwer zu ändern ist. Jedes Programm, das die goto-Anweisung verwendet, kann so umgeschrieben werden, dass es die goto-Anweisung nicht benötigt.
Syntax
In C++goto Syntax der Anweisung:
goto label; .. . label: statement;
Hier,labelEs ist ein Bezeichner, der eine beschriftete Anweisung kennzeichnet, und kann ein beliebiger Klartext außer C++-Schlüsselwörtern sein. Eine beschriftete Anweisung kann eine beliebige Anweisung sein, die nach dem Bezeichner und einem Doppelpunkt (:) steht.

Flussdiagramm
Beispiel
Beispiel
using namespace std;
int main ()
{
// Lokale Variablendeklaration
int a = 10;
// Ausführung der do-Schleife
LOOP:do
{
if( a == 15)
{
// Iteration überspringen
a = a + 1;
goto LOOP;
}
cout << "Wert von a:" << a << endl;
a = a + 1;
}while( a < 20 );
return 0;
}
Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
Eine gute Verwendung der goto-Anweisung ist das Verlassen tief verschachtelter Routinen. Betrachten Sie zum Beispiel das folgende Codefragment:
for(...) {
for(...) {
while(...) {
if(...) goto stop;
.
.
.
}
}
}
stop:
cout << "Error in program.\n";
BeseitigengotoDies führt dazu, dass einige zusätzliche Tests ausgeführt werden. Eine einfachebreakAnweisung funktioniert hier nicht, weil sie nur bewirkt, dass das Programm die innerste Schleife verlässt.
Weitere Erweiterungen