C ++ longjmp () e setjmp () - Biblioteca C ++ padrão

A função longjmp () em C ++ restaura o ambiente salvo anteriormente chamando setjmp ().

A função longjmp () é definida no arquivo de cabeçalho.

protótipo longjmp ()

 void longjmp (env jmp_buf, status int);

O ambiente a ser carregado é armazenado no argumento env, que é salvo chamando a função setjmp ().

Parâmetros longjmp ()

  • env: Um objeto do tipo jmp_buf que armazena o ambiente a ser carregado.
  • status: a variável para retornar de setjmp. Se for igual a 0, 1 será usado.

longjmp () Valor de retorno

  • Nenhum

Exemplo: Como funciona a função longjmp ()?

 #include #include using namespace std; int main() ( jmp_buf env; int val; val = setjmp(env); if (val==0) ( cout << "setjmp returned " << val << endl; longjmp(env,val); ) else ( cout << "setjmp returned " << val << endl; cout << "Program terminating" << endl; ) return 0; )

Quando você executa o programa, a saída será:

 setjmp retornou 0 setjmp retornou 1 Encerramento do programa

Artigos interessantes...