Afficher : Delphi
C++
Préférences d'affichage
Abort et les destructeurs
De RAD Studio
Remonter à Destructeurs - Index
Si vous appelez abort n'importe où dans un programme, aucun destructeur n'est appelé, pas même pour les variables globales.
Il est possible d'appeler un destructeur explicitement, ceci de deux façons : indirectement par un appel à delete, ou directement en utilisant le nom qualifié entier du destructeur. L'opérateur delete peut servir à détruire des objets qui ont été alloués à l'aide de new. Les appels explicites au destructeur ne sont nécessaires que pour des objets qui ont reçu une adresse spécifique par le biais d'appels à new.
#include <stdlib.h> class X { public: . . . ~X(){}; . . . }; void* operator new(size_t size, void *ptr) { return ptr; } char buffer[sizeof(X)]; void main() { X* pointer = new X; X* exact_pointer; exact_pointer = new(&buffer) X; // pointeur initialisé à // l'adresse du tampon . . . delete pointer; // delete est utilisé pour détruire le pointeur exact_pointer–>X::~X(); // appel direct pour désallouer }