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),或 realloc,size_t(void*)。
第二个函数。将删除表达式调用与窗体相对应 new(std::size_t) 的新表达式。 它不执行任何操作。
第三个函数由将删除表达式调用与窗体的 new(std::size_t,const std::nothrow_t&) 的新表达式。 程序可定义具有替换标准 C++ 库定义的默认版本的此函数签名的函数。 需的行为是接受为空或由对 operator new的 _Ptr 值 (size_t) 的之前调用返回。 默认行为是计算 删除(_Ptr)。
示例
使用 operator delete的示例参见 new 运算符。
要求
新 <的页眉: >
命名空间: std