C ++ GOTO-Anweisungen
goto - Anweisung ermöglicht die Steuerung bedingungslos an eine markierte Anweisung innerhalb der gleichen Funktion.
Hinweis: In einer beliebigen Programmiersprache, empfiehlt nicht die Verwendung der goto - Anweisung.Weil sie es schwierig macht, den Steuerfluß des Programms zu verfolgen, wird das Programm schwierig zu verstehen und schwierig zu modifizieren. Jedes Programm, das GOTO-Anweisungen verwendet, kann neu geschrieben werden, da der Wortlaut erfordert nicht die Verwendung der goto-Anweisung.
Grammatik
Goto - Anweisung in C ++ Syntax:
goto label; .. . label: statement;
Hier Etikett erkannt Kennung markierte Anweisung kann etwas anderes als C ++ Schlüsselwörter im Klartext sein.Beschriftete Anweisung kann eine Aussage getroffen werden, platziert in Kennung und einen Doppelpunkt (:) zurück.
Flussdiagramm
Beispiele
#include <iostream> using namespace std; int main () { // 局部变量声明 int a = 10; // do 循环执行 LOOP:do { if( a == 15) { // 跳过迭代 a = a + 1; goto LOOP; } cout << "a 的值:" << a << endl; a = a + 1; }while( a < 20 ); return 0; }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
goto-Anweisung ist eine gute Rolle tief verschachtelten Routine zu beenden ist. Betrachten Sie zum Beispiel das folgende Codefragment:
for(...) { for(...) { while(...) { if(...) goto stop; . . . } } } stop: cout << "Error in program.\n";
Eliminierung vongoto führt zu einige zusätzliche Tests durchgeführt werden.Eine einfachebreak - Anweisung hier keine Rolle spielen, weil es das Programm bewirkt , dass die innerste Schleife zu verlassen.