C ++ longjmp () και setjmp () - C ++ Standard Library

Η συνάρτηση 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 πρόγραμμα τερματισμού

ενδιαφέροντα άρθρα...