-1

コピーとベクトルの割り当ての違いは何ですか?2行目と4行目。

1    vector<int> V1(5);
2    vector<int> V3(V1);
3    vector<int> V4(V1.size());   
4    V4 = V1 ;
4

2 に答える 2

0

これが私のstl実装からのdoxygen抽出物ですoperator=

   /* All the elements of @a x are copied, but any extra memory in
   *  @a x (for fast expansion) will not be copied.  Unlike the
   *  copy constructor, the allocator object is not copied.
   */

ご覧のとおり、カスタムアロケータを使用する場合は違いがありますが、それ以外の場合は結果は同じです。

于 2013-03-08T09:37:50.377 に答える
0

2行目はコピーコンストラクターを使用しています。4行目はコピー代入を使用しています。どちらもコピーを作成します。1つ目は新しいオブジェクトを作成し、2つ目は既存のオブジェクトを上書きします。

于 2013-03-08T13:12:46.627 に答える