shared_ptrを使った場合に起きる、相互参照によるメモリリークを防ぐためにはweak_ptrを使う。

参考↓
http://d.hatena.ne.jp/naoya/20051012/1129115986

相互に参照している部分をweak_ptrを使えば、余分なcountがされないので、大丈夫。
けど、できれば、こういう設計自体をしないほうが良い。たぶん。