Скажем, у меня есть класс с методом, который возвращает shared_ptr
.
Каковы возможные преимущества и недостатки возврата его по ссылке или по значению?
Две возможные подсказки:
- Раннее уничтожение объекта. Если я возвращаю ссылку
shared_ptr
by (const), счетчик ссылок не увеличивается, поэтому я рискую удалить объект, когда он выходит из сферы действия в другом контексте (например, другой поток). Это верно? Что делать, если среда однопоточная, может ли эта ситуация также произойти? - Стоимость.. Постепенное значение, конечно, не является бесплатным. Стоит ли его избегать, когда это возможно?
Спасибо всем.