unique_ptr::unique_ptr
unique_ptr有七构造函数。
unique_ptr();
unique_ptr(nullptr_t);
explicit unique_ptr(
pointer _Ptr
);
unique_ptr(
Type *_Ptr,
typename conditional<
is_reference<Del>::value,
Del,
typename add_reference<const Del>::type>::type _Deleter
);
unique_ptr(
pointer ptr,
typename remove_reference<Del>::type&& _Deleter
);
unique_ptr(
unique_ptr&& _Right
);
template<class Ty2, Class Del2>
unique_ptr(
unique_ptr<Ty2, Del2>&& _Right
);
参数
参数 |
说明 |
---|---|
_Ptr |
要分配资源的指针为 unique_ptr. |
_Deleter |
将分配的 deleter 设置为 unique_ptr。 |
_Right |
到 unique_ptr 字段的 unique_ptr 的 rvalue reference 为移动分配给新构造的 unique_ptr。 |
备注
前两构造函数构造不控制资源的对象。 第三个构造函数以存储 stored_ptr中的 ptr。 第四个构造函数存储在 stored_ptr 的 stored_deleter中的 ptr 和 deleter。
第五构造函数存储在 stored_ptr 的 ptr 并将 deleterstored_deleter。 第六和第七构造函数存储在 stored_ptr 的 right.reset() 并将 right.get_deleter()stored_deleter。
要求
页眉: <内存>
命名空间: std