Что рекомендуется использовать std::unique_ptr
для конкретного использования, когда и как его лучше всего использовать?
Я обнаружил:
Я уже знаю:
-
std::unique_ptr
был разработан в С++ 11 в качестве заменыstd::auto_ptr
- Что a
std::unique_ptr
не имеет счетчика ссылок и "владеет", он указывает на - Нет копии/назначения с
std::unique_ptr
- Когда мне нужен уникальный указатель,
std::unique_ptr
- это переход к структуре
Что я хотел бы знать:
- Использует
std::unique_ptr
когда-либо предпочтительный (кроме уникальности) что-то еще? Что я получу в этой ситуации? - Если да, то при каких обстоятельствах и когда?
- Учитывая потребность в семантике перемещения, сделает ли это
std::unique_ptr
менее выгодным в целом? - Если a
std::shared_ptr
будет достаточным для управления динамической памятью почти в каждом ситуация, почему имеет в моем распоряжении вопросstd::unique_ptr
(опять же, другое | чем единственность)?