>>81
「一般的にどうであるか」を尋ねています。

>>82
「typedef boost::shared_ptr<T> shared_ptr;」などを Hoge クラス内で宣言するべきではないということでしょうか
クラス外で「typedef boost::shared_ptr<Hoge> HogePtr;」を宣言するのは問題ありませんか?