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é