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
);
パラメーター
パラメーター |
説明 |
---|---|
_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