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_t,const std::nothrow_t&)的 new[] 表达式。程序可以定义与替换标准C++库定义的默认版本的此函数签名的函数。所需的行为是接受为空或返回之前调用添加到运算符 new[]_Ptr 的值(size_t)。默认行为是计算 delete[](_Ptr)。
示例
请参见 新operator[] 通过使用 **operator delete[]**的示例。
要求
标头: <new>
命名空间: std