typedef boost::shared_ptr<SomeData> data_ptr;
data_ptr cached_ptr;   // class member 
bool someWork(data_ptr& passed_ptr)
{
  // must copy passed_ptr = cached_ptr under some conditions
  // without pointing at the same memory 
  // I saw somewhere that I should do 
  // passed_ptr.reset(new SomeData(???))
  // I don't have a "reset" on passed_ptr
}
ドキュメントを見ました。
コンストラクターのコピーと変換
shared_ptr(shared_ptr const & r); // never throws
template<class Y> shared_ptr(shared_ptr<Y> const & r); // never throws
Requires: Y* should be convertible to T*.
Effects: If r is empty, constructs an empty shared_ptr; otherwise,
         constructs a shared_ptr that shares ownership with r.
それがどのように機能するのかわかりません-このようなものですか?
passed_ptr = shared_ptr(cached_ptr);
? const はどこに行きますか?そして、彼らが所有権を共有するとはどういう意味ですか? 「passed_ptr」を変更すると、その変更は「cached_ptr」に影響しますか?
例が見つかりません...助けてください。
ありがとうございました。