Η συνάρτηση longjmp () στο C ++ επαναφέρει το περιβάλλον που είχε αποθηκευτεί προηγουμένως καλώντας το setjmp ().
Η συνάρτηση longjmp () ορίζεται στο αρχείο κεφαλίδας.
πρωτότυπο longjmp ()
άκυρο longjmp (jmp_buf env, int status);
Το περιβάλλον φόρτωσης αποθηκεύεται στο όρισμα env που αποθηκεύεται καλώντας τη συνάρτηση setjmp ().
παράμετροι longjmp ()
- env: Ένα αντικείμενο τύπου jmp_buf που αποθηκεύει το περιβάλλον για φόρτωση.
- κατάσταση: Η μεταβλητή για επιστροφή από το setjmp. Αν είναι ίσο με 0, χρησιμοποιείται 1.
longjmp () Επιστροφή τιμή
- Κανένας
Παράδειγμα: Πώς λειτουργεί η λειτουργία 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; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
setjmp επέστρεψε 0 setjmp επέστρεψε 1 πρόγραμμα τερματισμού