怠惰な初期化パートナーの実装shared_ptr
を知っている人はいますか? weak_ptr
クラスの要件は次のとおりです。
lazy_ptr
コンストラクターの実装を必要とせずに、クライアントがオブジェクトを後で (もしあれば) 構築できるようにするクラス3 つの可能な状態を持つ
weak_lazy_ptr
クラス: まだ構築されていない ( にロックされないshared_ptr
)、構築されている ( にロックされているshared_ptr
)、および破棄されている ( にロックされていないshared_ptr
)
少し前に、完全には機能しなかったいくつかのクラスを作成しました ( CVuの記事はこちらを参照) 。共有ポインターとウィーク ポインターを統合する代わりに使用するモデルの主な問題は次のとおりです。shared_ptr
weak_ptr
すべてのオブジェクトが範囲外になると、他のクライアントがバージョン
lazy_ptr
を保持していても、弱い参照をロックできなくなりますshared_ptr
異なるスレッドでのオブジェクトの構築は制御できません
これらの問題を調整するための他の試み、またはこの分野で進行中の作業へのポインタをいただければ幸いです。