私の質問は、フェイルセーフか、ですが、私のリソースマネージャの一部であり、次のコードスニペットです:安全:: shared_ptrの参照
bool Load(std::string name, boost::shared_ptr<Asset::Model>& newModel)
{
std::map<std::string, boost::scoped_ptr<Asset::Model> >::const_iterator seeker;
seeker = models.find(name);
if (seeker == models.end())
return false;
newModel = seeker->second->Copy(); // Copy returns a boost::shared_ptr<Asset::Model>
return true;
}
private:
std::map< std::string, boost::scoped_ptr<Asset::Model> > models;
参照することによりブーストのshared_ptrのを渡すと、実際の一部ではないので、 shared_ptrのコンセプト、もし私がこのスコープでのみ使うのであれば、問題に遭遇する可能性がありますか?
ロードが失敗した場合に備えて、shared_ptrを返す必要はありません。それは私がブールを返す理由 – cppanda