今更っぽいけど、「スマートポインタが必要な時点で設計ミス」
というのは結構賛成。本当の意味で、対等に共有されている
オブジェクトというのも存在するけど、基本的には、オブジェクトが
誰の下請けとして動いていて、誰と心中すべきかということは
はっきりしているでしょ。意味論的に死ぬべきオブジェクトが、
間違って参照されていて、たまたまそれで動いていても、
それはバグであって、GCがあると単に落ちないだけ。
だから、auto_ptrは使うけど、shared_ptrとなると、vectorに
突っ込む場合に使う程度で、積極的に使うことはほとんど無かったり。