User Tools

Site Tools


cpp:stack_unwinding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cpp:stack_unwinding [2021/05/25 07:59] gthanoscpp:stack_unwinding [2023/05/15 14:13] (current) gthanos
Line 3: Line 3:
 Κατά την δημιουργία ενός //exception// μέσα σε μία συνάρτηση ή σε ένα κατασκευαστή δεν είναι απαραίτητο ότι η διαχείριση του //exception// θα πρέπει να γίνει στην ίδια τη συνάρτηση ή τον καστασκευαστή. Η διαδικασία όνομάζεται //stack unwinding// και το παράδειγμα που ακολουθεί είναι εξαρειτικά διαφωτιστικό για το πως διαμορφώνεται το stack μετά από την διαχείριση μίας εξαίρεσης σε υψηλότερο επίπεδο. Κατά την δημιουργία ενός //exception// μέσα σε μία συνάρτηση ή σε ένα κατασκευαστή δεν είναι απαραίτητο ότι η διαχείριση του //exception// θα πρέπει να γίνει στην ίδια τη συνάρτηση ή τον καστασκευαστή. Η διαδικασία όνομάζεται //stack unwinding// και το παράδειγμα που ακολουθεί είναι εξαρειτικά διαφωτιστικό για το πως διαμορφώνεται το stack μετά από την διαχείριση μίας εξαίρεσης σε υψηλότερο επίπεδο.
  
-<code cpp StackUnwinding.cpp>+<code cpp Vector.hpp>
 #include <iostream> #include <iostream>
 #include <cstdlib> #include <cstdlib>
Line 16: Line 16:
   ~Vector();   ~Vector();
 }; };
 +</code>
 +
 +<code cpp Vector.cpp>
 +#include "Vector.hpp"
  
 Vector::Vector(int length) { Vector::Vector(int length) {
Line 33: Line 37:
   delete [] array;   delete [] array;
 } }
 +</code>
  
 +<code cpp StackUnwinding.cpp>
 +#include <iostream>
 +#include <cstdlib>
 +#include "Vector.hpp"
 +
 +using namespace std;
  
 // called by FFF() // called by FFF()
cpp/stack_unwinding.1621929596.txt.gz · Last modified: 2021/05/25 06:59 (external edit)