0

所有的returnreset函数实际上也可以返回对对象本身的引用,因为如果我将智能指针重置为某个东西,我很有可能会使用它。(也许是可疑的例子。shared_ptr, auto_ptr, unique_ptr, boost::scoped_ptrvoid

也就是说,不能重置定义为

unique_ptr& reset( pointer ptr = pointer() );

代替

void reset( pointer ptr = pointer() );

?

注意:本质上reset,这实际上是一个“作业”,应该*this*在最后返回,就像operator=已经做的那样。(这不是关于返回旧值或类似的东西。)

4

1 回答 1

0

Boost图书馆经过审查过程。API 之所以如此,是因为那次审查。您的选择是编写适配器类模板或您自己的共享指针类模板。由于boost代码通常很重,后一种选择可能不是一个坏主意。然后,您将完全控制 API。

于 2013-02-22T12:03:13.913 回答