相关疑难解决方法(0)

我应该分配还是重置unique_ptr?

鉴于自有对象的生命周期与其所有者链接的常见情况,我可以使用两种方式之一的唯一指针..

它可以分配:

class owner
{
    std::unique_ptr<someObject> owned;    
public:
    owner()
    {
        owned=std::unique_ptr<someObject>(new someObject());        
    }
};
Run Code Online (Sandbox Code Playgroud)

可以使用重置方法:

class owner
{
    std::unique_ptr<someObject> owned;    
public:
    owner()
    {
        owned.reset(new someObject());
    }
};
Run Code Online (Sandbox Code Playgroud)

为了最佳实践,我应该更喜欢一种形式吗?

编辑:对不起伙计们.我简化了这个.堆分配发生在初始化方法中,而不是在ctor中.因此,我无法使用初始化列表.

c++ smart-pointers unique-ptr c++11

62
推荐指数
2
解决办法
4万
查看次数

标签 统计

c++ ×1

c++11 ×1

smart-pointers ×1

unique-ptr ×1