将 shared_ptr 与预分配指针一起使用

Use shared_ptr with preallocated pointer

将预分配指针分配给 shared_ptr 对象有问题吗?
例如:

some_type* 3rd_party_func(...)  
{  
  return new some_pointer;  
}  

re_val my_func()  
{  
shared_ptr<some_type> my_ptr(3rd_party_func());  
}

谢谢!

不,这根本不是问题。其实很常见。作为奖励,如果你的第三方库 returns 一个应该使用库函数而不是 delete 释放的指针,你可以这样做:

shared_ptr<some_type> my_ptr(3rd_party_func(), 3rd_party_free);