C ++ funkcija longjmp () atkuria aplinką, anksčiau išsaugotą iškvietus setjmp ().
Funkcija longjmp () yra apibrėžta antraštės faile.
longjmp () prototipas
negaliojantis longjmp (jmp_buf env, int statusas);
Įkeliama aplinka saugoma argumente env, kuris išsaugomas iškviečiant funkciją setjmp ().
longjmp () parametrai
- env: „jmp_buf“ tipo objektas, saugantis apkrovos aplinką.
- status: kintamasis, kuris grįš iš setjmp. Jei jis lygus 0, vietoj jo naudojamas 1.
longjmp () Grąžinimo vertė
- Nė vienas
Pavyzdys: Kaip veikia longjmp () funkcija?
#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; )
Kai paleisite programą, išvestis bus:
setjmp grąžino 0 setjmp grąžino 1 Programa baigiama