回答編集履歴

1

2018/10/02 14:22

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -9,3 +9,69 @@
9
9
  CS[j].a = valuepattern[i];
10
10
 
11
11
  ```
12
+
13
+
14
+
15
+ ---
16
+
17
+
18
+
19
+ std::vector の代入は各要素の値コピーが行われます。
20
+
21
+ 代入元の配列が空でなければ、代入先の配列も空にはなりません。
22
+
23
+
24
+
25
+ ```cpp
26
+
27
+ #include <iostream>
28
+
29
+ #include <vector>
30
+
31
+
32
+
33
+ int main()
34
+
35
+ {
36
+
37
+ std::vector<int> array1 = {1, 2, 3, 4, 5};
38
+
39
+ for (const auto &v : array1)
40
+
41
+ std::cout << v << " ";
42
+
43
+ std::cout << std::endl;
44
+
45
+
46
+
47
+ std::vector<int> array2;
48
+
49
+ std::cout << "array2.size(): " << array2.size() << std::endl;
50
+
51
+
52
+
53
+ array2 = array1; // コピーコンストラクタ
54
+
55
+ for (const auto &v : array2)
56
+
57
+ std::cout << v << " ";
58
+
59
+ std::cout << std::endl;
60
+
61
+ }
62
+
63
+
64
+
65
+ ```
66
+
67
+
68
+
69
+ ```output
70
+
71
+ 1 2 3 4 5
72
+
73
+ array2.size(): 0
74
+
75
+ 1 2 3 4 5
76
+
77
+ ```