Funktionen longjmp () i C ++ återställer den tidigare sparade miljön genom att anropa setjmp ().
Funktionen longjmp () definieras i rubrikfilen.
longjmp () prototyp
ogiltigt longjmp (jmp_buf env, int-status);
Miljön som ska laddas lagras i argumentet env som sparas genom att anropa setjmp () -funktionen.
longjmp () Parametrar
- env: Ett objekt av typen jmp_buf som lagrar miljön som ska laddas.
- status: Variabeln som ska returneras från setjmp. Om det är lika med 0 används 1 istället.
longjmp () Returvärde
- Ingen
Exempel: Hur fungerar 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; )
När du kör programmet blir resultatet:
setjmp returnerade 0 setjmp returnerade 1 Program avslutas