Я просто не понимаю, как std::enable_shared_from_this::shared_from_this
возвращает общий пэнд, который разделяет право собственности на существующий указатель. Другими словами, вы this:
std::shared_ptr<Foo> getFoo() { return shared_from_this(); }
Итак, когда вы вызываете getFoo
, как именно он получает то, что является другим shared_ptr
, чтобы разделить владение, а не создавать отдельный shared_ptr
, которому принадлежит тот же this
.
Мне нужно понять это, чтобы понять, как создать shared_ptr из какого-либо объекта, который увеличивает один и тот же счетчик ссылок и не инициализирует отдельные shared_ptr
s.