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 的null值的默认行为没有是执行。 _Ptr 的其他值必须是调用(如返回之前的值。 _Ptr 这样的非空值的默认行为是重新分配存储区之前调用。 它在+什么+情况+下是未指定的部件或分配所有此类还原存储的后续调用 operator new(size_t),或对任何 calloc(size_t),malloc(size_t),或者 realloc(void*size_t)。

第二个函数按位置删除表达式调用了窗体对应 新建(std::size_t)的一个新的表达式。 它不执行任何操作。

第三个函数按位置删除表达式调用了窗体对应 新建(std::size_tconststd::nothrow_t&)的一个新的表达式。 程序可以定义与替换标准C++库定义的默认版本的此函数签名的函数。 所需的行为是接受为空或返回之前调用对 operator new_Ptr 的值(size_t)。 默认行为是计算 delete(_Ptr)。

示例

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

要求

标头: <new>

命名空间: std