Я ищу два разных сценария:
shared_ptr
unique_ptr
Ответ может быть таким же.
Рассмотрим метод, который использует указатель, но не принимает на себя владение:
void use_pointer(T ptr)
{
ptr->act();
}
Должен T быть
my_type *
(необработанный указатель) const shared_ptr &
(отправка const ref, если используется shared_ptr) const unique_ptr &
(отправка const ref, если используется unique_ptr) weak_ptr
(построение weak_ptr для вызова метода) Что-то еще? Спасибо!