所有的returnreset
函数实际上也可以返回对对象本身的引用,因为如果我将智能指针重置为某个东西,我很有可能会使用它。(也许是可疑的例子。)shared_ptr, auto_ptr, unique_ptr, boost::scoped_ptr
void
也就是说,不能重置定义为
unique_ptr& reset( pointer ptr = pointer() );
代替
void reset( pointer ptr = pointer() );
?
注意:本质上reset
,这实际上是一个“作业”,应该*this*
在最后返回,就像operator=
已经做的那样。(这不是关于返回旧值或类似的东西。)