This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
cpp:object_lifecycle [2021/05/07 07:27] gthanos |
cpp:object_lifecycle [2021/05/07 07:33] gthanos [Ένα πιο σύνθετο παράδειγμα αρχικοποίησης δεικτών] |
||
|---|---|---|---|
| Line 134: | Line 134: | ||
| } | } | ||
| </ | </ | ||
| - | |||
| - | Όταν δεν χρειαζόμαστε πλέον το αντικείμενο που δεσμεύτηκε δυναμικά στο //heap// θα πρέπει να το καταστρέψουμε ελευθερώνοντας τη δεσμευμένη μνήμη με τη βοήθεια του τελεστή //delete//. Κατά την | ||
| Ακολουθεί το σχηματικό διάγραμμα του //stack// και του //heap// της διεργασίας πριν, κατά τη διάρκεια και μετά την εκτέλεσης της συνάρτησης //foo//. Στο διάγραμμα δεν αποτυπώνεται η δέσμευση μνήμης για τα πεδία //width// και //height// του κάθε αντικειμένου τύπου // | Ακολουθεί το σχηματικό διάγραμμα του //stack// και του //heap// της διεργασίας πριν, κατά τη διάρκεια και μετά την εκτέλεσης της συνάρτησης //foo//. Στο διάγραμμα δεν αποτυπώνεται η δέσμευση μνήμης για τα πεδία //width// και //height// του κάθε αντικειμένου τύπου // | ||
| Line 141: | Line 139: | ||
| {{ : | {{ : | ||
| - | ===== Ένα πιο σύνθετο | + | Όταν δεν χρειαζόμαστε |
| + | |||
| + | ===== 3η περίπτωση - δυναμικά | ||
| Παρακάτω δίνεται η κλάση // | Παρακάτω δίνεται η κλάση // | ||
| Line 247: | Line 247: | ||
| cout << " | cout << " | ||
| | | ||
| - | delete[] r4[0]; | + | delete[] r4[0]; |
| - | delete[] r4[1]; | + | delete[] r4[1]; |
| delete[] r4; | delete[] r4; | ||
| } | } | ||