タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

programmingとcollectionに関するastk_fのブックマーク (2)

  • ムーブコンストラクタを作って push_back してみる - Qiita

    ムーブコンストラクタがどういう動きをするのか調べるために下記のようなコードを書いてみた。 まずムーブコンストラクタなしの場合。 #include <iostream> #include <vector> using namespace std; struct Obj { Obj() { cout << "constructor" << endl; } Obj(const Obj& o) { cout << "copy constructor" << endl; } /* ムーブコンストラクタなしの場合 Obj(Obj&& o) { cout << "move constructor" << endl; } */ }; int main() { std::vector<Obj> v; cout << "1\n"; v.push_back(Obj()); cout << "2\n"; v.pu

    ムーブコンストラクタを作って push_back してみる - Qiita
  • C++ オブジェクトのコレクション - Qiita

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

    C++ オブジェクトのコレクション - Qiita
  • 1