将 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);
将预分配指针分配给 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);