解引用指针会使代码非常难以阅读。我通常的做法是将指向对象的引用放入,并使用该引用进行操作。例如:
我想知道这是否是一种好的做法。它有什么缺点吗?
更新:为了完成示例,我将以下列方式定义get_sp_to_vector()函数:
shared_ptr<std::vector<int> > sp = get_sp_to_vector();
std::vector<int>& vec = *sp;
...
vec.push_back(5);
我想知道这是否是一种好的做法。它有什么缺点吗?
更新:为了完成示例,我将以下列方式定义get_sp_to_vector()函数:
shared_ptr<std::vector<int> > get_sp_to_vector()
{
// create a vector and send back a shared pointer pointing at it
shared_ptr<std::vector<int> > sp(new std::vector<int>);
sp->push_back(1); sp->push_back(3);
return sp;
}
std::auto_ptr
,而“sp_foo”则表示boost::shared_ptr
或std::tr1::shared_ptr
。 - Wyzard