shared_ptr, auto_ptr, unique_ptr, boost::scoped_ptr
void
的所有reset
functions返回unique_ptr& reset( pointer ptr = pointer() );
时,它们实际上也可以返回对象本身的引用,因为,如果我重置某个智能指针,可能是,我我打算用它。 (Maybe doubtful example.)
即,无法重置定义为
void reset( pointer ptr = pointer() );
而不是
reset
?
注意:基本上*this*
,实际上是“分配”,最后应该返回operator=
,就像{{1}}已经做到的那样。 (这不是关于返回旧的价值还是某些东西。)
答案 0 :(得分:0)
Boost
个图书馆会经过审核流程。由于该审查,API就是这样。您可以选择编写适配器类模板或您自己的共享指针类模板。由于boost
代码通常很重,后一种选择可能不是一个坏主意。然后,您将完全控制API。