De functie longjmp () in C ++ herstelt de omgeving die eerder is opgeslagen door setjmp () aan te roepen.
De functie longjmp () is gedefinieerd in het header-bestand.
longjmp () prototype
ongeldig longjmp (jmp_buf env, int status);
De omgeving die moet worden geladen, wordt opgeslagen in het argument env, dat wordt opgeslagen door de functie setjmp () aan te roepen.
longjmp () Parameters
- env: een object van het type jmp_buf dat de te laden omgeving opslaat.
- status: de variabele die moet worden geretourneerd uit setjmp. Als het gelijk is aan 0, wordt in plaats daarvan 1 gebruikt.
longjmp () Retourwaarde
- Geen
Voorbeeld: hoe werkt de functie 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; )
Wanneer u het programma uitvoert, is de uitvoer:
setjmp geretourneerd 0 setjmp geretourneerd 1 Programma wordt beëindigd