我有一个类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
,如果可以,我该怎么做?