2010-03-20 4 views

Répondre

4

Il semble que vous fassiez la distinction entre la gestion des nouvelles expressions et les fonctions d'allocation. Les nouvelles-expressions appellent les constructeurs en plus des types de classe et sont chargées de rechercher les fonctions d'allocation (donc elles sont intégrées dans le compilateur) et de les appeler. Vous ne pouvez pas changer ce comportement. Ce que vous pouvez changer est le comportement des fonctions d'allocation. Leur nom est operator new et ils sont trouvés et utilisés par de nouvelles expressions pour allouer de la mémoire.

Voir Plain new, new[], delete and delete[] in a nutshell.

-1

Vous pouvez surcharger l'opérateur new mais vous ne pouvez pas définir de nouveaux opérateurs (par exemple ^ ou ++).

Si ce n'est pas ce que vous vouliez dire, veuillez clarifier.

2

Vous pouvez surcharger les quatre, new, new[], delete et delete[]. Voir la section 13.5 de the standard.

Questions connexes