>706
言いたかったのは SetInner(Inner::shared_ptr()); されてもいいのか?って事。使う時に毎回有効性のチェックする?
もっと言うとクラスのインタフェースはその機能によって定められるべきで
メンバによって定められるべきではないと思う。本当にアクセサが必要なの?

>const shared_ptr & を返すのもアリなんですか?
個人的にはナシ。

>マルチスレッドだと値返しは危ないという理解で合ってますか?
いや、まずいのは参照返しの方だろ?
実体より寿命の長い参照に設定された場合が駄目なのでマルチスレッドでなくても
駄目な場合は発生しうる。

>「void GetNameB(string * pName) const」は必要ありますか?
>670 が言っているのは string GetNameB() const だと思う。
そして個人的には const string & 返すのがあれば不要だと思う。
むしろ void GetNameB(string &name) const を作るかもね。