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_ptrrvalue 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

请参见

参考

unique_ptr 类

<memory>

C++ 标准库中的线程安全

其他资源

unique_ptr 成员

memory 成员