Funktionen longjmp () i C ++ gendanner det miljø, der tidligere var gemt ved at kalde setjmp ().
Funktionen longjmp () er defineret i header-fil.
longjmp () prototype
ugyldigt longjmp (jmp_buf env, int status);
Miljøet, der skal indlæses, gemmes i argumentet env, der gemmes ved at kalde setjmp () -funktionen.
longjmp () Parametre
- env: Et objekt af typen jmp_buf, der gemmer miljøet, der skal indlæses.
- status: Den variabel, der skal returneres fra setjmp. Hvis det er lig med 0, bruges 1 i stedet.
longjmp () Returværdi
- Ingen
Eksempel: Hvordan fungerer 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ører programmet, vil output være:
setjmp returneret 0 setjmp returneret 1 Program afsluttes