Sprawozdanie C ++ goto
Oświadczeniegoto umożliwia kontrolę bezwarunkowo do oznaczonego oświadczenia w obrębie tej samej funkcji.
Uwaga: W dowolnym języku programowania, nie zaleca korzystania z rachunku goto.Ponieważ utrudnia śledzić przebieg sterowania programem, co program trudny do zrozumienia i trudna do zmiany. Każdy program, który wykorzystuje goto może być zapisane jako treść nie wymaga korzystania z rachunku goto.
gramatyka
goto w C ++ składni:
goto label; .. . label: statement;
Tutaj, etykieta jest rozpoznawany identyfikator oznaczone Oświadczenie może być coś innego niż słów kluczowych C ++ w postaci zwykłego tekstu.Oznaczone Oświadczenie może być żadnego oświadczenia, umieszczone w identyfikatorem i dwukropek (:) tyłu.
schemat blokowy
Przykłady
#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; }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
Oświadczenie goto jest dobrym zadaniem jest wyjść głęboko zagnieżdżony rutyny. Na przykład, rozważmy następujący fragment kodu:
for(...) { for(...) { while(...) { if(...) goto stop; . . . } } } stop: cout << "Error in program.\n";
Eliminacjagoto spowoduje wykonywane są pewne dodatkowe testy.Prosta instrukcjabreak tutaj nie odgrywa roli, ponieważ powoduje, że program, aby wyjść z wewnętrznej pętli.