我有一个类A,它有一个类型的字段std::unique_ptr:
class A
{
public:
std::unique_ptr pointer;
// class body
};
在代码的某个地方,我使用了几个std::shared_ptr指向同一个对象的 s。现在我想要实现的是std::unique_ptr在我的类中将所有权转移到 this 上,这样如果所有shared_ptr的 s 都将被销毁,那么只要 this 还活着,我的对象就会unique_ptr一直活着。
我的问题是 - 是否可以将所有权从std::shared_ptr转移到std::unique_ptr,如果可以,我该怎么做?