>>211
そこら辺は要考慮だが、イテレータを使用している最中にコンテナの要素を削除して問題あるのはvectorぐらいだし、
そもそもフラグを使用しても今度はいつコンテナから要素を削除するのか問題になる

>>212
要素!=要素の管理者であっても、違っていても、どちらも親(管理者)が欲しい時はあるんじゃないか?
前者は、例えばC#の話になるが、DataTableクラスはDataSetプロパティ(属するDataSet、つまりは親を取得する)がある訳で
後者は自分の例でのHogeクラスを削除して、HogeContainerクラスに置き換えたものになる

だがちょっと待ってほしい。自分が質問した内容は>>200な訳で、
�@ = const shared_ptr<Hoge> &
�A = shared_ptr<Hoge>
は問題ないということで宜しいか?