istruzione di avanzamento (C++)
goto dell'istruzione trasferisce il controllo incondizionatamente all'istruzione contrassegnato dall'identificatore specificato.
goto identifier;
Note
L'istruzione contrassegnato definito da identifier sia la funzione corrente.tutti identifier i nomi sono membri di uno spazio dei nomi interni e pertanto non interferiscono con altri identificatori.
Un istruzione è significativo solo a un oggetto goto istruzione; in caso contrario, le etichette delle istruzioni vengono ignorati.Le etichette non possono essere ridichiarato.
Ben programma lo stile utilizzare break, continuee return istruzioni anziché goto istruzione appena possibile.Tuttavia, poiché break chiusura di istruzione da un solo livello di ciclo, potrebbe essere necessario utilizzare un' goto istruzione per uscire da un ciclo fino annidato.
Per ulteriori informazioni sulle etichette e goto l'istruzione, vedere Istruzioni contrassegnati e Utilizzando le etichette con l'istruzione di avanzamento.
Esempio
in questo esempio, a goto trasferisce il controllo dell'istruzione nel punto contrassegnato stop quando i è pari 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 );
}