Funkcija longjmp () v C ++ obnovi prej shranjeno okolje s klicem setjmp ().
Funkcija longjmp () je definirana v datoteki glave.
prototip longjmp ()
void longjmp (jmp_buf env, int status);
Okolje za nalaganje je shranjeno v argumentu env, ki se shrani s klicem funkcije setjmp ().
longjmp () Parametri
- env: Predmet tipa jmp_buf, ki shrani okolje za nalaganje.
- status: spremenljivka, ki se vrne iz setjmp. Če je enako 0, se namesto njega uporabi 1.
longjmp () Vrnjena vrednost
- Nobenega
Primer: Kako deluje funkcija 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; )
Ko zaženete program, bo rezultat:
setjmp vrnil 0 setjmp vrnil 1 Program se zaključuje