我很好奇,因为我开始采用更多的 boost 惯用语以及似乎是最佳实践的最佳实践那些没有接触过“现代 C++”的人?
最佳答案
我几乎不使用 shared_ptr
,因为我通常避免共享所有权。因此,我使用 boost::scoped_ptr
之类的东西来“拥有”一个对象,但对它的所有其他引用都将是原始指针。示例:
boost::scoped_ptr<SomeType> my_object(new SomeType);
some_function(my_object.get());
但是 some_function
会处理一个原始指针:
void some_function(SomeType* some_obj)
{
assert (some_obj);
some_obj->whatever();
}
关于c++ - 一旦你采用了 boost 的智能指针,有没有使用原始指针的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363351/