Boost或std::tr1的智能指针shared_ptr有没有释放所有权的函数?类似于auto_ptr的release函数一样?

Boost或std::tr1的智能指针share_ptr有没有释放所有权的函数?类似于auto_ptr的release函数一样?

有时用到一半就想释放掉其控制权不知用什么函数?在以前auto_ptr可以用release,现在share_ptr不知怎么办了。
后来发现unique_ptr可以,和以前的auto_ptr一样,就是auto_ptr的修正

第1个回答  2012-06-04
这个好像不能直接释放控制权,不过它提供了Reset方法去重新引用其他对象,也相当于释放了原有对象。追问

reset原来指针就释放了,我现在需要的是不释放指针,而是智能指针放开它的控制权

追答

除非智能指针自己被析构。

相似回答