У меня есть класс A
, у которого есть поле типа std::unique_ptr
:
class A
{
public:
std::unique_ptr pointer;
// class body
};
И где-то в коде, я использую несколько std::shared_ptr
, которые указывают на один и тот же объект. Теперь я хотел бы добиться перехода к этому std::unique_ptr
в моем классе, так что, если все shared_ptr
будут уничтожены, мой объект останется в живых, пока этот unique_ptr
останется в живых.
Мой вопрос: возможно ли переместить право собственности с std::shared_ptr
на std::unique_ptr
, и если да, то как я могу это сделать?