App*_*ood 12 c++ boost smart-pointers
我很好奇,因为我开始采用更多的提升习语和看似最好的做法我想知道我的c ++甚至远远看起来像过去的c ++,经常在典型的例子和那些人的头脑中找到还没有被介绍过"Modern C++"?
我shared_ptr几乎没有使用,因为我总体上避免共享所有权.因此,我使用类似boost::scoped_ptr"拥有"对象的东西,但对它的所有其他引用都是原始指针.例:
boost::scoped_ptr<SomeType> my_object(new SomeType);
some_function(my_object.get());
Run Code Online (Sandbox Code Playgroud)
但是some_function会处理一个原始指针:
void some_function(SomeType* some_obj)
{
assert (some_obj);
some_obj->whatever();
}
Run Code Online (Sandbox Code Playgroud)
只有几个我的头顶:
这里的共同点是"在任何情况下,您需要将一块内存视为除了您具有分配控制的资源之外的其他内容".
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |