правила хорошего тона при использовании умных указателей? Например: есть обьект, который агрегирует другой, без последующего шеринга агрегируемого обьекта. Стоит ли в таком случае использовать юник_птр?
И схожий вопрос по шаред_птр: есть обьект, указатель на который нужно передать множеству других обьектов, но дело в том, что обьект, указатель на который шэрю, будет удален после всех. Стоит ли в данном случае использовать шаред_птр?
Стоит сначала решить, надо ли агрегировать по ссылке (по указателю) или по значению.
Вообще, unique надо использовать когда объект создаётся динамически и время его жизни четко ограничено определенным отрезком или у него есть четкий владелец (объект, определяющий его время жизни). Shared надо использовать, когда время жизни объекта заранее не определено.
Обсуждают сегодня