怎么取得shared_ptr中的raw pointer又不释放这个raw pointer

C++语言 码拜 8年前 (2016-05-04) 789次浏览
shared_ptr<int> sp(new int());
int* p=sp.get();
sp.reset();
这样貌似p还是会被释放.
解决方案

40

shared_ptr 是要被多处共享的,在最后一个释放后释放。这样拿一个 raw pointer 出来是要干什么?貌似与 share_ptr 语义不符,是不是应该考虑换一个 …

unique_ptr 有 release().

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么取得shared_ptr中的raw pointer又不释放这个raw pointer
喜欢 (0)
[1034331897@qq.com]
分享 (0)