Поделиться через


unique_ptr::unique_ptr

7 Конструкторов для 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

rvalue reference в unique_ptr, из которого поля unique_ptr переместить, присвоенное только что созданный unique_ptr.

Заметки

Первые 2 конструктора создают объект, не управляет нет ресурс. Третий конструктор сохраняет ptr в stored_ptr. Четвертый конструктор сохраняет ptr в stored_ptr и deleter в stored_deleter.

Пятый конструктор сохраняет ptr в stored_ptr и перемещает deleter в stored_deleter. Шестые и седьмые конструкторы сохраняют right.reset() в stored_ptr и по right.get_deleter() в stored_deleter.

Требования

Заголовок:<memory>

Пространство имен: std

См. также

Ссылки

Класс unique_ptr

<memory>

Потокобезопасность в стандартной библиотеке C++

Другие ресурсы

члены unique_ptr

Члены <память>