weak_ptr<Style> A -> weak_ptr<Style> B -> shared_ptr<Style> C
は、あなたがそのような方法で(観察)新しいshared_ptrの(C)を指すように第二のweak_ptr(B)を変更できますそれでも最初のweak_ptr(A)が新しいshared_ptr(C)の変更を見ますか?
希望は意味があります。この場合、weak_ptrが提供できる安全性を考えれば、私は未加工のポインタから離れていきたいと思います。
編集:私はweak_ptrを演算子=基本的にただのコピー別のweak_ptrをしていないが、実際には別のweak_ptrを観察作ることを実現
再読み込みブーストドキュメントの後。したがって、生ポインタのないこの種の間接参照を持つことはできません。
編集2:
私の問題に拡大するために:私はLabel
を持っているとGlyph
。 Label
はGlyph
のコンテナです。ラベルにはshared_ptr<Style>
があり、グリフにはこのスタイルに対してweak_ptr
があります。私の意図は、実際にすべてのラベルのグリフを反復することなく、スタイルを素早く変更できるようにすることです。だから私はLabel
に別の「アクティブな」スタイル(スタイルペンシルのようなもの)を持っていて、すべてのグリフをそのペンシルのものを指すように考えていました。だから、私がスタイルの変更が必要なときは、新しいスタイルオブジェクトにペンシルを単に割り当てます。これはスマートなポインタでのみ行うことができますか、生のポインタをどこかに混在させる必要がありますか?
申し訳ありませんが、私にはこれは意味をなさない - あなたの意図をコードで表現できますか? –
詳細情報で質問を更新しました:) – Sim