Funkce longjmp () v C ++ obnovuje prostředí dříve uložené voláním setjmp ().
Funkce longjmp () je definována v hlavičkovém souboru.
prototyp longjmp ()
void longjmp (jmp_buf env, int status);
Prostředí, které se má načíst, je uloženo v argumentu env, který je uložen voláním funkce setjmp ().
longjmp () parametry
- env: Objekt typu jmp_buf, který ukládá prostředí k načtení.
- status: Proměnná, která se má vrátit z setjmp. Pokud je rovno 0, použije se místo toho 1.
longjmp () Návratová hodnota
- Žádný
Příklad: Jak funguje funkce 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; )
Když spustíte program, výstup bude:
setjmp vrátil 0 setjmp vrátil 1 Ukončení programu