Surcharge de l'opérateur delete

De RAD Studio
Aller à : navigation, rechercher

Remonter à Opérateurs new et delete - Index

Les opérateurs globaux ::operator delete() et ::operator delete[]() ne peuvent pas être surchargés. Cependant, vous pouvez surcharger la version par défaut de chacun de ces opérateurs dans votre propre implémentation. Une seule instance de la fonction globale delete peut exister dans le programme.

L'opérateur delete défini par l'utilisateur doit avoir un type de retour void et void* comme premier argument ; le second, facultatif, est de type size_t. Une classe T peut définir au plus une version de chaque T::operator delete[]() et T::operator delete(). Pour surcharger des opérateurs delete, utilisez les prototypes suivants.

  • void operator delete(void *Type_ptr, [size_t Type_size]); // Pour non-tableaux
  • void operator delete[](size_t Type_ptr, [size_t Type_size]); // Pour tableaux

Voir aussi