共用方式為


operator delete (<new>)

刪除運算式要取消配置個別物件存放區時呼叫的函式。

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

參數

  • _Ptr
    其值是要由刪除轉譯無效的指標。

備註

第一個函式會刪除運算式呼叫的可讓 _Ptr 的值無效。 程式可以定義與取代 Standard C++ 程式庫中定義的預設版本之這個函式簽章的函式。 必要的行為是接受 null 或之前的呼叫所傳回 new 運算子_Ptr 的值 (size_t)。

_Ptr 的 null 值的預設行為就不是這樣。 _Ptr 其他值必須是如同呼叫傳回的目前值。 _Ptr 的這類非 null 值的預設行為是回收之前的呼叫所配置的儲存區。 它在何種情況下是未指定的不同或任何這類之儲存區由後續的配置給 operator new(size_t),或是任何 calloc(size_t), malloc(size_t),或 realloc(void*size_t)。

第二個函式會將刪除運算式會以表單對應 new(std::size_t) 的新運算式。 它不會有任何作用。

第三個函式以定位刪除運算式會以表單對應 new(std::size_tconststd::nothrow_t&) 的新運算式。 程式可以定義與取代 Standard C++ 程式庫中定義的預設版本之這個函式簽章的函式。 必要的行為是接受 null 或之前的呼叫所傳回 operator new_Ptr 的值 (size_t)。 預設行為是評估 delete(_Ptr)。

範例

提供使用的範例 operator delete參閱 new 運算子

需求

標題: <new>

命名空間: std