えーと、今日は作業はほとんど進まず、設計を少し弄っただけです。 前から気になっていた問題なんですが、コンテナをメンバに持つクラスで、そのコンテナを外部から自由に弄らせたい場合、よく void bar_check(int x); // 何かのチェック関数 class hoge { public: std::list<foo>& foo_list() { return foo_list_; } void bar(int x) { bar_check(x); // 必ずこのチェックを通す必要があるので、カプセル化が必要 bar_ = x; } private: std::list<foo> foo_list_; int bar_; }; みたいに書いていました。 メンバ変数をpublicにしたくないけど全機能を使うためには参照を返すしかなく、実質的にメンバ変数を公開してしまっているのに変に拘って