C ++ longjmp () e setjmp () - Libreria standard C ++

La funzione longjmp () in C ++ ripristina l'ambiente precedentemente salvato chiamando setjmp ().

La funzione longjmp () è definita nel file di intestazione.

prototipo longjmp ()

 void longjmp (jmp_buf env, int status);

L'ambiente da caricare è memorizzato nell'argomento env che viene salvato chiamando la funzione setjmp ().

Parametri longjmp ()

  • env: un oggetto di tipo jmp_buf che memorizza l'ambiente da caricare.
  • status: la variabile da restituire da setjmp. Se è uguale a 0, viene utilizzato 1.

longjmp () Restituisce il valore

  • Nessuna

Esempio: come funziona la funzione 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; )

Quando esegui il programma, l'output sarà:

 setjmp ha restituito 0 setjmp ha restituito 1 Programma terminato

Articoli interessanti...