delete

提供: RAD Studio
移動先: 案内検索

キーワード(アルファベット順):インデックス への移動


カテゴリ

演算子C++ 固有キーワード

構文

 void operator delete(void *ptr) throw();
 void operator delete(void *ptr, const std::nothrow_t&) throw();
 void operator delete[](void *ptr) throw();
 void operator delete[](void *ptr, const std::nothrow_t &) throw();
 void operator delete(void *ptr, void *) throw();   // Placement form
 void operator delete[](void *ptr, void *) throw(); // Placement form

説明

delete 演算子では、new への呼び出しで割り当てられたメモリ ブロックを解放します。これは、標準ライブラリ関数 free と似ていますが、より優れています。

new 演算子によって割り当てられたメモリはすべて、delete 演算子を使用して解放しなければなりません。メモリを解放し損ねると、メモリ リークが発生する可能性があります。

operator delete のデフォルトの配置形式は、予約済みであり、再定義できません。 デフォルトで配置された delete 演算子は、何の動作も行いません(デフォルトで配置された new 演算子がメモリを割り当ててないため)。演算子 new の配置版をオーバーロードする場合、配置 delete 演算子のオーバーロードを、相当するシグニチャで提供するのは、よい習慣です(ただし、必須ではありません)。

関連項目