2011-12-17 11 views
5

オブジェクトの配列の作成時に呼び出されるクラス固有の新規/削除をオーバーロードすることは可能ですか?クラス固有の新規/削除

class Foo; 

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

ありがとうございます。

+0

http://stackoverflow.com/questions/7149461/why-should-one-replace-default-new-and-delete-operatorsとhttp://stackoverflow.com/questions/7149461/whyを参照してください。 -should-one-replace-default-new-and-delete-operators。 –

答えて

8

はい、可能です。 newdeletehereのオーバーロードに関するチュートリアルがあり、,hereの場合、newdeleteのオーバーロードの良い例があります。

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

     void* operator new[](size_t); 
     void operator delete[](void*); 
}; 
関連する問題