unique_ptr::unique_ptr

unique_ptr の 7 種類のコンストラクターがあります。

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
    );

パラメーター

パラメーター

Description

_Ptr

unique_ptr. に割り当てるリソースへのポインター。

_Deleter

unique_ptr に割り当てる deleter

_Right

unique_ptr がわかります unique_ptr への rvalue reference は新しく生成された unique_ptr に割り当てられた移動です。

解説

最初の 2 のコンストラクターはリソースを管理するオブジェクトを構築します。3 つ目のコンストラクターはstored_ptr で ptr を格納します。4 つ目のコンストラクターはstored_ptr で ptr と stored_deleter で deleter を格納します。

5 つ目のコンストラクターはstored_ptr で ptr を保存しstored_deleter に deleter を移動します。6 つ目と 7 つ目のコンストラクターはstored_ptr で right.reset() を保存しstored_deleter に right.get_deleter() を移動します。

必要条件

ヘッダー : <memory>

名前空間: std

参照

関連項目

unique_ptr Class

<memory>

C++ の標準ライブラリのスレッド セーフ

その他の技術情報

unique_ptr のメンバー

<memory> メンバー