Funkcia longjmp () v C ++ obnovuje predtým uložené prostredie volaním setjmp ().
Funkcia longjmp () je definovaná v hlavičkovom súbore.
longjmp () prototyp
void longjmp (jmp_buf env, int status);
Prostredie, ktoré sa má načítať, je uložené v argumente env, ktorý je uložený volaním funkcie setjmp ().
parametre longjmp ()
- env: Objekt typu jmp_buf, ktorý ukladá prostredie na načítanie.
- status: Premenná, ktorá sa má vrátiť z setjmp. Ak je rovná 0, použije sa namiesto nej 1.
longjmp () Návratová hodnota
- Žiadne
Príklad: Ako funguje funkcia 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; )
Po spustení programu bude výstup:
setjmp vrátil 0 setjmp vrátil 1 Ukončenie programu