Funcția longjmp () din C ++ restabilește mediul salvat anterior apelând setjmp ().
Funcția longjmp () este definită în fișierul antet.
longjmp () prototip
void longjmp (jmp_buf env, int status);
Mediul de încărcat este stocat în argumentul env care este salvat apelând funcția setjmp ().
longjmp () Parametri
- env: Un obiect de tip jmp_buf care stochează mediul de încărcat.
- status: Variabila de returnat de la setjmp. Dacă este egal cu 0, se folosește în schimb 1.
longjmp () Valoare returnată
- Nici unul
Exemplu: Cât funcționează funcția 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; )
Când rulați programul, ieșirea va fi:
setjmp returnat 0 setjmp returnat 1 Program terminat