C ++ longjmp () et setjmp () - Bibliothèque standard C ++

La fonction longjmp () en C ++ restaure l'environnement précédemment enregistré en appelant setjmp ().

La fonction longjmp () est définie dans le fichier d'en-tête.

prototype longjmp ()

 void longjmp (jmp_buf env, état int);

L'environnement à charger est stocké dans l'argument env qui est sauvegardé en appelant la fonction setjmp ().

Paramètres longjmp ()

  • env: un objet de type jmp_buf qui stocke l'environnement à charger.
  • status: La variable à renvoyer de setjmp. S'il est égal à 0, 1 est utilisé à la place.

longjmp () Valeur de retour

  • Aucun

Exemple: Combien fonctionne la fonction 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; )

Lorsque vous exécutez le programme, la sortie sera:

 setjmp a renvoyé 0 setjmp a renvoyé 1 Programme terminé

Articles intéressants...