C ++ at_quick_exit () - Βασική βιβλιοθήκη C ++

Η συνάρτηση at_quick_exit () στο C ++ καταγράφει μια συνάρτηση που πρέπει να κληθεί με γρήγορο τερματισμό προγράμματος, δηλαδή τερματίζεται μέσω quick_exit ().

Η συνάρτηση που είναι καταχωρημένη στη συνάρτηση at_quick_exit () καλείται όταν καλείται η συνάρτηση quick_exit ().

πρωτότυπο at_quick_exit ()

 extern int at_quick_exit (κενό (* func) (κενό));

Αυτή η συνάρτηση ορίζεται στο αρχείο κεφαλίδας.

at_quick_exit () Παράμετροι

  • func: Δείκτης στη λειτουργία που θα κληθεί για γρήγορο τερματισμό προγράμματος.

at_quick_exit () Επιστροφή τιμή

Η συνάρτηση at_quick_exit () επιστρέφει:

  • Μηδέν εάν η εγγραφή της συνάρτησης είναι επιτυχής.
  • Μη μηδέν εάν η εγγραφή της συνάρτησης απέτυχε.

Παράδειγμα 1: Πώς λειτουργεί η λειτουργία at_quick_exit ();

 #include #include using namespace std; void bye() ( cout << "Program Exiting via quick_exit()"; ) int main() ( at_quick_exit(bye); cout << "Inside Main" << endl; quick_exit(0); return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Έξοδος από το κύριο πρόγραμμα μέσω quick_exit ()

Μπορούν να καταχωρηθούν περισσότερες από μία λειτουργίες για εκτέλεση σε γρήγορη έξοδο.

Εάν έχουν καταχωρηθεί περισσότερες από μία συναρτήσεις χρησιμοποιώντας το Η ίδια λειτουργία μπορεί να καταχωρηθεί περισσότερες από μία φορές.

Ο αριθμός των κλήσεων συναρτήσεων που μπορούν να καταχωρηθούν στο at_quick_exit () εξαρτάται από τη συγκεκριμένη εφαρμογή της βιβλιοθήκης. Ωστόσο, το ελάχιστο όριο είναι 32.

Παράδειγμα 2: Καταχώριση πολλαπλών λειτουργιών στο at_quick_exit ()

 #include #include using namespace std; void quick_exit1() ( cout << "Exit Function 1" << endl; ) void quick_exit2() ( cout << "Exit Function 2" << endl; ) void quick_exit3() ( cout << "Exit Function 3" << endl; ) int main() ( int x1, x2, x3; /* Executed at last*/ x1 = at_quick_exit(quick_exit1); x2 = at_quick_exit(quick_exit2); /* Executed at first */ x3 = at_quick_exit(quick_exit3); if ((x1 != 0) or (x2 != 0) or (x3 != 0)) ( cout << "Registration Failed"; exit(1); ) cout << "Registration successful" << endl; quick_exit(0); )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Επιτυχής εγγραφή Exit Function 3 Exit Function 2 Exit Function 1

Εάν μια καταχωρισμένη συνάρτηση ρίχνει μια εξαίρεση χωρίς χειρισμό όταν καλείται κατά τον τερματισμό, καλείται η συνάρτηση τερματισμού ().

Παράδειγμα 3: at_quick_exit () με εξαίρεση χωρίς χειρισμό λειτουργίας

 #include #include using namespace std; void bye() ( cout << "Generates Exception"; int a = 5, b = 0; int x = a/b; ) int main() ( int x; x = at_quick_exit(bye); if (x != 0) ( cout << "Registration Failed"; exit(1); ) cout << "Registration successful" << endl; quick_exit(0); )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Επιτυχής εγγραφή Δημιουργεί εξαίρεση (Το πρόγραμμα θα τερματιστεί με σφάλμα)

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