最近、数年ぶりに C++ を書いてますが、C++11 すてきですね。ってことで、C++ オブジェクトをコレクション (std::vector など) に格納する方法について書いてみます。なお、ここで言うオブジェクトとは、POD でないクラスのインスタンスを指します。 (C++ の記事は、自作クラスの作り方と、コレクションの使い方と、スマートポインタの使い方を、それぞれ別々に記述したものが多いけど、それらを適切に組み合わせる方法の方が重要だと思ってます。) オブジェクトを「そのまま」格納する? C++ において、(POD でない) オブジェクトを「そのまま」取り扱うなどということは幻想に過ぎません。常に T, T*, T&, const T&, T&& の違いを意識する必要があります。 コレクションには参照 (T&) は格納できないので、値またはポインタで格納することになりますが、目的に応じ