Compartilhar via


Instrução goto (C++)

A instrução goto transfere o controle incondicionalmente para a instrução rotulada pelo identificador especificado.

goto identifier;

Comentários

A instrução rotulada designada por identifier deve estar na função atual. Todos os nomes de identifier são membros de um namespace interno e, portanto, não interferem em outros identificadores.

Os rótulos de instrução são significativos apenas para uma instrução goto; caso contrário, são ignorados. Os rótulos não podem ser redeclarados.

É um bom estilo de programação usar as instruções break, continue e return em vez da instrução goto sempre que possível. No entanto, como a instrução break sai apenas de um nível de um loop, você pode ter que usar uma instrução goto para sair de um loop profundamente aninhado.

Para obter mais informações sobre rótulos e a instrução goto, consulte Instruções rotuladas e Usando rótulos com a instrução goto.

Exemplo

Neste exemplo, uma instrução goto transfere o controle para o ponto rotulado stop quando o valor de i é 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 );
}
  

Consulte também

Referência

Instruções de salto (C++)

Palavras-chave C++