0
全部reset
functions的shared_ptr, auto_ptr, unique_ptr, boost::scoped_ptr
返回void
當他們真的可以返回對象本身的引用時,因爲如果我重置了智能指針,那麼很可能我會使用它。 (Maybe doubtful example.)爲什麼重置返回無效?
即,無法重置被定義爲
unique_ptr& reset(pointer ptr = pointer());
代替
void reset(pointer ptr = pointer());
?
注意:基本上reset
,這實際上是一個「任務」應該只是在末尾返回*this*
,就像operator=
已經那樣。 (這不是要返回舊值或某些值)。
什麼阻止你編寫一個免費的函數呢? – 2013-02-22 11:10:27
也許任何人提出unique_ptr認爲它是一個好主意,鼓勵不要把所有東西都塞進一行...... – PlasmaHH 2013-02-22 11:16:53
對我來說似乎是一個合理的建議,因爲'operator ='是一個類似的操作並返回相同的引用提議。除非在委員會中有一種感覺(儘管已經在C++標準中已經盛行),鏈式修改操作就是Inherently Bad,這可能只是錯過了一個幾乎沒有人會用到的東西的機會,但大多沒有傷害。有時候,某些不符合標準的原因是「沒有人提出這個問題」,我很想知道這是否屬於這種情況。 – 2013-02-22 11:42:17