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