【发布时间】:2011-03-18 12:14:32
【问题描述】:
下面的两段代码有什么不同吗?他们中的任何一个都比另一个更可取吗?
操作员=
boost::shared_ptr<Blah> foo; // foo.ptr should be NULL
foo = boost::shared_ptr<Blah>(new Blah()); // Involves creation and copy of a shared_ptr?
重置
boost::shared_ptr<Blah> foo; // foo.ptr should be NULL
foo.reset(new Blah()); // foo.ptr should point now to a new Blah object
注意:我需要定义 shared_ptr 然后将其设置在不同的行中,因为我在一段代码中使用它:
boost::shared_ptr<Blah> foo;
try
{
foo.reset...
}
foo...
【问题讨论】:
标签: c++ boost shared-ptr