>>397
基本的にはナシだけど使うときは使うかな
でもCとの連絡とモニカとしての利用以外で使うことはないな

>>397の例だと
- shared_ptr<int>を返す
- const shared_ptr<int> &を返す
- (目的にあうなら)intを返す
のどれかがいいんじゃないかな

木については
- 子→親が必要ない場合は親→子だけをunique_ptrで管理
- いるならshared_ptrとweak_ptrで管理
- 平衡くさい2分木ならvector<T>(かvector<unique_ptr<T>>)で添字管理するのが楽なこともある(根は1で、左 = 親 * 2、右 = 親 * 2 + 1)
- 子が親の(C++の)参照を持つとノード削除したとき困ると思う

みたいな感じ