Boost::SmartPtr

所有権を離さないのが scoped_ptr だというのはわかった。
複数で共有し、かつどれが先に消えるかわからない場合は shared_ptr(いわゆる参照カウンタ)というのもわかる。
weak_ptr は使う必要があるのか?「ダングリング参照を防ぐため」に weak_ptr を使う、とあるが、shared_ptr は参照カウンタがあるので、防げるのではないか。
intrusive_ptr は、わけわからん(?_?)