goto (Instrucción) (C++)

La instrucción goto transfiere incondicionalmente el control a la instrucción etiquetada por el identificador especificado.

goto identifier;

Comentarios

La instrucción con etiqueta designada por identifier debe estar en la función actual. Todos los nombres de identifier son miembros de un espacio de nombres interno y, por tanto, no interfieren con otros identificadores.

Una etiqueta de instrucción solo es significativa para una instrucción goto; de lo contrario, se omiten las etiquetas de instrucciones. Las etiquetas no se pueden volver a declarar.

Un buen estilo de programación consiste en utilizar las instrucciones break, continue y return en lugar de la instrucción goto siempre que sea posible. Sin embargo, puesto que la instrucción break sale de un solo nivel de un bucle, puede que tenga que utilizar una instrucción goto para salir de un bucle anidado profundamente.

Para obtener más información sobre las etiquetas y la instrucción goto, vea Instrucciones con etiquetas y Usar etiquetas con la instrucción goto.

Ejemplo

En este ejemplo, una instrucción goto transfiere el control al punto con la etiqueta stop cuando i es igual 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 );
}
  

Vea también

Referencia

Instrucciones de salto (C++)

Palabras clave de C++