Udostępnij za pośrednictwem


goto — instrukcja (C++)

Instrukcja goto bezwarunkowo przekazuje kontrolę do instrukcji oznaczonej przez podany identyfikator.

goto identifier;

Uwagi

Instrukcja oznaczona przez identifier musi znajdować się w bieżącej funkcji.Wszystkie nazwy identifier są elementami członkowskimi wewnętrznej przestrzeni nazw i dlatego nie kolidują z innymi identyfikatorami.

Etykieta instrukcji jest istotna tylko dla instrukcji goto; poza tym etykiety instrukcji są ignorowane.Etykiety nie mogą być ponownie zadeklarowane.

Aby zachować dobry styl programowania, należy używać instrukcji break, continue i return zamiast instrukcji goto, jeśli jest to możliwe.Jednakże ponieważ instrukcja break wychodzi tylko z jednego poziomu pętli, może być konieczne użycie instrukcji goto, aby wyjść z głęboko zagnieżdżonej pętli.

Aby uzyskać więcej informacji dotyczących etykiet i instrukcji goto, zobacz Instrukcje oznaczone i Używanie etykiet z instrukcją goto.

Przykład

W tym przykładzie instrukcja goto przekazuje kontrolę do punktu oznaczonego etykietą stop, gdy i jest równe 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 );
}
  

Zobacz też

Informacje

Instrukcje skoku (C++)

Słowa kluczowe języka C++