【问题标题】:Class specific new/delete类特定的新/删除
【发布时间】:2012-01-22 12:11:29
【问题描述】:

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

class Foo;

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

谢谢。

【问题讨论】:

标签: c++


【解决方案1】:

是的,这是可能的。有一个关于重载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*);
};

【讨论】:

    猜你喜欢
    • 2019-01-23
    • 2013-02-23
    • 2011-07-30
    • 1970-01-01
    • 2015-12-21
    • 2021-05-28
    • 2014-09-04
    • 2013-02-23
    • 1970-01-01
    相关资源
    最近更新 更多