Condividi tramite


Istruzione goto (C++)

L'istruzione goto trasferisce incondizionatamente il controllo all'istruzione contrassegnata dall'identificatore specificato.

goto identifier;

Note

L'istruzione contrassegnata definita da identifier deve trovarsi nella funzione corrente. Tutti i nomi di identifier sono membri dello spazio dei nomi interno e pertanto non interferiscono con altri identificatori.

Un'etichetta di un'istruzione è significativa solo per un'istruzione goto ; negli altri casi le etichette vengono ignorate. Le etichette non possono essere ridichiarate.

È buono stile di programmazione utilizzare le istruzioni break, continue e return quando possibile, anziché l'istruzione goto. Tuttavia, poiché l'istruzione break esce da un solo livello di un ciclo, potrebbe essere necessario utilizzare un'istruzione goto per uscire da cicli eccessivamente annidati.

Per ulteriori informazioni sulle etichette e sull'istruzione goto, vedere Istruzioni contrassegnate e Utilizzare le etichette con l'istruzione goto.

Esempio

In questo esempio, un'istruzione goto trasferisce il controllo al punto contrassegnato stop quando i è uguale a 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 );
}
  

Vedere anche

Riferimenti

Istruzioni di spostamento (C++)

Parole chiave C++