Предположим, у меня есть метод, определяющий shared_ptr
. После завершения метода shared_ptr
также будет удален. Тем временем у меня есть еще один участник, который использует это shared_ptr
. Поэтому я хотел бы продлить время жизни shared_ptr
за пределы исходного метода.
void initial_method(int input)
{
std::shared_ptr<int> a { std::make_shared<int>(input) };
some_delayed_method(a);
}
Можно ли вручную увеличить счетчик ссылок a на единицу в этом примере?
some_delayed_method()
подобен отряду и относится к a
сразу после того, как initial_method()
вернулся.
std::shared_ptr
действителен на время вызова метода. - person Mansoor   schedule 28.10.2020int
, на которую он указывает, вы это имели в виду? - person Jeremy Friesner   schedule 28.10.2020