Перегрузка операторов new и delete. Павел Синай

Материал из SEWiki
Перейти к: навигация, поиск

Для чего это нужно

  • Организация кэширования памяти.
  • Организация сборщика мусора.
  • Поиск утечек памяти.

Перегрузка операторов new и delete в классах

Как это делается:

struct A
{
   int a;

   void * operator new(size_t size)
   {
      return malloc(size);
   }

   void operator delete(void *p)
   {
      free(p);
   }
}

Перегрузка глобальных операторов new и delete

Дополнительные параметры операторов new и delete