Funkcja longjmp () w C ++ odtwarza środowisko zapisane wcześniej przez wywołanie setjmp ().
Funkcja longjmp () jest zdefiniowana w pliku nagłówkowym.
Prototyp longjmp ()
void longjmp (jmp_buf env, int status);
Środowisko do załadowania jest przechowywane w argumencie env, który jest zapisywany przez wywołanie funkcji setjmp ().
Parametry longjmp ()
- env: obiekt typu jmp_buf przechowujący środowisko do załadowania.
- status: zmienna do zwrócenia z setjmp. Jeśli jest równe 0, zamiast tego używane jest 1.
longjmp () Wartość zwracana
- Żaden
Przykład: Jak działa funkcja 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 uruchomieniu programu wynik będzie następujący:
setjmp zwrócił 0 setjmp zwrócił 1 Zakończenie programu