关于如何使用QSharedPointer对象作为方法参数或方法的返回值,是否有任何良好的实践或规则?
按价值:
LMNode::setParent(QSharedPointer<LMNode> parent)
{
this->parent = parent;
}
QSharedPointer<LMNode> LMNode::getParent()
{
return this->parent;
}
Run Code Online (Sandbox Code Playgroud)
或参考更好:
LMNode::setParent(const QSharedPointer<LMNode>& parent)
{
this->parent = parent;
}
const QSharedPointer<LMNode>& LMNode::getParent()
{
return this->parent;
}
Run Code Online (Sandbox Code Playgroud)
当然,在第二个版本中,我避免了参考计数器的增量和QSharedPointer对象的变化.但是,我必须采取严格的方法吗?