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
    其值通过删除变得无效的指针。

备注

第一个函数由 delete[] 表达式调用后 _Ptr 值无效。函数可替换的,因为程序可以定义与替换标准C++库定义的默认版本的此函数签名的函数。所需的行为是接受为空或返回之前调用对 新operator[]_Ptr 的值(size_t)。_Ptr 的null值的默认行为没有是执行。_Ptr 的其他值必须是调用(如返回之前的值。_Ptr 这样的非空值的默认行为是重新分配存储区之前调用。它在+什么+情况+下是未指定的部件或分配所有此类还原存储的后续调用 new运算符(size_t),或对任何 calloc(size_t),malloc(size_t),或者 realloc(void*size_t)。

第二个函数通过位置 delete[] 表达式调用了窗体对应 new[](std::size_t)的 new[] 表达式。它不执行任何操作。

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

示例

请参见 新operator[] 通过使用 **operator delete[]**的示例。

要求

标头: <new>

命名空间: std