Ir para declaração (C++)
O goto instrução incondicionalmente transfere o controle 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 identifier nomes de membros de um espaço para nome interno e, portanto, não interferem com outros identificadores.
Um rótulo de instrução é significativo apenas para um goto instrução; Caso contrário, os rótulos de instrução são ignorados.Rótulos não podem ser declarado novamente.
É bom o estilo a ser usado de programação do break, continue, e return instruções em vez da goto instrução sempre que possível.No entanto, porque o break instrução sai em somente um nível de um loop, talvez você precise usar um goto instrução para encerrar um loop profundamente aninhado.
Para obter mais informações sobre rótulos e a goto instrução, consulte Instruções rotuladas e Usando rótulos com a instrução de goto.
Exemplo
Neste exemplo, um goto instrução transfere o controle para o ponto de chamada stop quando 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 );
}