次の方法で共有


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 の非常に null 以外の値の既定の動作は前の呼び出しで割り当てられたメモリを解放します。また、は、このようなすべて解放されたストレージが 新しい演算子 () にsize_t以降の呼び出しによってパーツまたは callocsize_t ()、malloc (size_t)、または realloc (void*size_t) またはのいずれかに割り当てられているか、条件がの下に指定されていません。

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

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

使用例

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

必要条件

ヘッダー: <new>

名前空間: std