170 похожих чатов

Есть ли смысл передавать умные указатели по константной ссылке?

13 ответов

7 просмотров

для unique_ptr - это единственный способ не передать владение, для shared_ptr - экономия на доступе в метаинформации с счетчиком использования

Anatoly Shirokov
для unique_ptr - это единственный способ не переда...

Для юника - так себе способ, имхо. Лучше уж ссылку или указатель на хранимый им объект

Dmitriy [Отпуск]
Для юника - так себе способ, имхо. Лучше уж ссылку...

отвязывание управляемого объекта от уника (оголение) - тоже опасная штука

Aleksei-Budyakov Автор вопроса
Dmitriy [Отпуск]
Для юника - так себе способ, имхо. Лучше уж ссылку...

Я вот тоже думаю, может лучше простой поинтер достать и передать, или разыменовать и по ссылке (что тоже самое почти)

Anatoly Shirokov
отвязывание управляемого объекта от уника (оголени...

Так какая в этом плане разница между Ty* и const unique_ptr<Ty>&?

Dmitriy [Отпуск]
Так какая в этом плане разница между Ty* и const u...

подчеркивание того, что ресурс находится под управлением

Aleksei-Budyakov Автор вопроса
Anatoly Shirokov
подчеркивание того, что ресурс находится под управ...

Но ты платишь за это лишним индирекшином, верно?

Dmitriy [Отпуск]
Для юника - так себе способ, имхо. Лучше уж ссылку...

на SO был хороший ответ на эту тему: https://stackoverflow.com/questions/8114276/how-do-i-pass-a-unique-ptr-argument-to-a-constructor-or-a-function

Kirill
на SO был хороший ответ на эту тему: https://stac...

Помнится, ребята из Яндекса на Курсере советовали чуть иное :)

Dmitriy [Отпуск]
Помнится, ребята из Яндекса на Курсере советовали ...

а тут от задачи зависит и от того какое владение нужно, если не ошибаюсь у Саттера был пост, когда лучше передавать сырой указатель, а не смарт птр, и прочие вариации на тему делегирования владения

Kirill
а тут от задачи зависит и от того какое владение н...

std::experimental::observer_ptr ? Вообще, кто-то использует что-то кроме сырых указателей для невладеющих указателей?

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Народ, кто шарит в расширенных разделах (EBR/EPR) на дисках с разметками MBR? Везде пишут (в вики рус/англ) в частности + другие источники смотрел, что первый сектор расширенн...
Eugene Krasnikov (ᴊɪɴ x)
1
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
что лучше для раста, Clion или IntellJ IDEA?
dbxty
11
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
А вообще существует редактор (современный), который не позиционирует себя как "легковесный, удобный и расширяемый"?
Andrey Zgarbul
7
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Карта сайта