Przejdź do instrukcji (C++)
goto Instrukcji bezwarunkowo przekazuje sterowanie do instrukcji, oznaczone przez określony identyfikator.
goto identifier;
Uwagi
Oświadczenie etykietą, wyznaczone przez identifier musi znajdować się w bieżącej funkcji.Wszystkie identifier nazwy są członkami wewnętrzny obszar nazw i dlatego nie zakłócają innych identyfikatorów.
Etykieta instrukcji ma znaczenie jedynie goto instrukcji; w przeciwnym wypadku instrukcja etykiety są ignorowane.Etykiety nie mogą być redeclared.
Jest ona dobra, programowania, styl, aby użyć break, continue, i return sprawozdania zamiast goto instrukcji w każdym przypadku, gdy jest to możliwe.Jednakże ponieważ break instrukcji zamknie tylko jeden poziom pętlę, może być konieczne użycie goto instrukcji, aby zamknąć pętlę głęboko zagnieżdżonych.
Aby uzyskać więcej informacji na temat etykiet i goto instrukcję, zobacz Etykietą sprawozdania i Za pomocą etykiet z przejdź do instrukcji.
Przykład
W tym przykładzie goto instrukcji przekazuje sterowanie do punktu o nazwie stop po i jest równa 3.
// goto_statement.cpp
#include <stdio.h>
int main()
{
int i, j;
for ( i = 0; i < 10; i++ )
{
printf_s( "Outer loop executing. i = %d\n", i );
for ( j = 0; j < 2; j++ )
{
printf_s( " Inner loop executing. j = %d\n", j );
if ( i == 3 )
goto stop;
}
}
// This message does not print:
printf_s( "Loop exited. i = %d\n", i );
stop:
printf_s( "Jumped to stop. i = %d\n", i );
}