类特定的新/删除

时间:2011-12-17 06:36:01

标签: c++

是否可以重载在创建对象数组时调用的特定于类的new / delete。

class Foo;

Foo* f = new Foo[10]; // calls overloaded new
delete[] f; // calls overloaded delete

谢谢。

1 个答案:

答案 0 :(得分:8)

是的,有可能。有一个关于重载newdelete here的教程,有一个很好的例子,为数组重载newdelete here

class Myclass
{
  public:
        void* operator new(size_t); 
        void operator delete(void*);

        void* operator new[](size_t); 
        void operator delete[](void*);
};