自作クラスで他の自作クラスのインスタンスのコレクションを返すメソッドを追加したい
のですがクラス設計ってどうすればいいでしょうか??ガチガチの最適化?まではしなくていいので
普通ぐらいの最適化?ぐらいでOKです。

public:
 std::shared_ptr<std::vector<std::shared_ptr<CMyClass>>> EnumeateMyClasses()

こんな感じで設計すればいいでしょうか?
C#なら
 IEnumerable<CMyClass> EnumeateMyClasses()
とかにするんですが