次の方法で共有


operator delete[] (<new>)

オブジェクトの配列のメモリを解放するために delete 式で呼び出される関数です。

void operator delete[]( 
   void* _Ptr 
) throw( ); 
void operator delete[]( 
   void *,  
   void * 
) throw( ); 
void operator delete[]( 
   void* _Ptr,  
   const std::nothrow_t& 
) throw( );

パラメーター

  • _Ptr
    削除によって値が無効にされるポインター。

解説

最初の関数は delete[] の式によって _Ptr の値を無効化するために呼び出されます。 関数は、プログラムが標準 C++ ライブラリで定義されている既定のバージョンを置き換えるこの関数シグネチャを持つ関数を定義できるので、交換できます。 必須の動作が NULL の場合、または 新しい演算子[] (size_t) に前の呼び出しによって返される _Ptr の値を受け入れることです。 _Ptr の null 値の既定の動作では、何も行われません。 _Ptr のそのほかの値は、前に説明したように呼び出すと、以前に返された値である必要があります。 _Ptr のこのような以外の値の既定の動作では、前の呼び出しで割り当てられたメモリを解放します。 このコントロールでは、このような解放されたストレージがすべて operator new (size_t) への以降の呼び出しによって部分または calloc (size_t)、malloc (size_t)、または realloc (void*size_t) またはに割り当てられている条件がで指定されていません。

2 番目の関数は、フォーム new[] (std::size_t) の new[] の式に対応する配置の delete[] の式によって呼び出されます。 これは、何も行いません。

3 番目の関数は、フォーム new[] (std::size_tconst std::nothrow_t&) の new[] の式に対応する配置の delete 式で呼び出されます。 プログラムは、標準 C++ ライブラリで定義されている既定のバージョンを置き換えるこの関数シグネチャを持つ関数を定義できます。 必須の動作が NULL の場合、または演算子に new[] (size_t) 前の呼び出しによって返される _Ptr の値を受け入れることです。 既定の動作では、delete[] (_Ptr) を評価します。

使用例

**operator delete[]**の使用例については 新しい演算子[] を参照してください。

必要条件

新しい <ヘッダー: >

名前空間: std