Какие рекомендуемые применения std::unique_ptr
в отношении того, где, когда и как его лучше всего использовать?Рекомендуемое использование std :: unique_ptr
я обнаружил:
Я уже знаю:
std::unique_ptr
был разработан в C++ 11 в качестве замены дляstd::auto_ptr
- То, что
std::unique_ptr
не имеет никакого подсчета ссылок и Объект «владеет» указывает на - Нет копии/a ssign с
std::unique_ptr
- Когда мне нужен уникальный указатель,
std::unique_ptr
это перейти к структуре
То, что я хотел бы знать:
- использует
std::unique_ptr
всегда предпочтительней (кроме уникальности) что-то
еще? Что я получу в этой ситуации? - Если да, то при каких обстоятельствах и когда?
- Учитывая потребность в семантике перемещения, это сделает
std::unique_ptr
менее благоприятным
общий? - Если
std::shared_ptr
будет достаточно для динамического управления памятью в почти каждой ситуации, почему имея в своем распоряженииstd::unique_ptr
вопрос (опять же, другие
чем уникальность)?
Поскольку тип называется 'unique_ptr', мне кажется странным, что вы ищете другое использование, чем уникальное ... –
И [Какой тип указателя я использую, когда?] (Http://stackoverflow.com/q/8706192/256138) – rubenvb
@ Mushy: Главный вопрос, на который вам нужно ответить, - это вопрос собственности. Ничто другое не имеет значения при выборе умного указателя, и на это очень хорошо отвечают вопросы, с которыми я связан. У вопроса, с которым вы связались, был мой downvote (из ранее), потому что он ничего не показывает окончательно и задает неправильный вопрос о «данных». – rubenvb