unique_ptr::reset

取得指针参数的所有权,然后删除原始存储的指针。 如果新指针与原始存储指针相同,reset将删除指针并将存储的指针设置为nullptr。

void reset(pointer ptr = pointer());
void reset(nullptr_t ptr);

参数

参数

描述

ptr

指向要取得所有权的资源的指针。

备注

使用reset把unique_ptr拥有的存储指针更改为ptr,然后删除原始存储的指针。 如果unique_ptr不为空,reset将调用原始存储指针上的 get_deleter 返回的删除器函数。

因为reset 首先将存储新指针 ptr,然后删除原始存储的指针,如果与原始存储指针相同,则reset 可以立即删除ptr。

要求

标头:<memory>

命名空间: std

请参见

参考

unique_ptr 类

<memory>

其他资源

unique_ptr 成员

memory 成员