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 值无效。 程序可定义具有替换标准 C++ 库定义的默认版本的此函数签名的函数。 需的行为是接受为空或供 new 运算符的 _Ptr 值 (size_t) 的之前调用返回。

空值的默认行为任何 _Ptr 不是执行它们。 其他值必须是 _Ptr 调用如返回的值。 此类非 NULL 值的默认行为是 _Ptr 回收之前分配调用的存储空间。 它在 + 什么 + 情况 + 下未指定的部件或全部此类重新的存储空间。随后调用分配给 operator new(size_t),或设置为任何 calloc(size_t),malloc(size_t),或 reallocsize_t(void*)。

第二个函数。将删除表达式调用与窗体相对应 new(std::size_t) 的新表达式。 它不执行任何操作。

第三个函数由将删除表达式调用与窗体的 new(std::size_tconst std::nothrow_t&) 的新表达式。 程序可定义具有替换标准 C++ 库定义的默认版本的此函数签名的函数。 需的行为是接受为空或由对 operator new的 _Ptr 值 (size_t) 的之前调用返回。 默认行为是计算 删除(_Ptr)。

示例

使用 operator delete的示例参见 new 运算符

要求

新 <的页眉: >

命名空间: std