回答編集履歴
3
0
test
CHANGED
@@ -30,4 +30,4 @@
|
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
解決策はおまかせします( =0の処理をやめるのも手)。
|
33
|
+
解決策はおまかせします(~~ =0の処理をやめるのも手~~)。
|
2
2
test
CHANGED
@@ -22,6 +22,12 @@
|
|
22
22
|
|
23
23
|
0. コンテナ側は複製を持っているので3でdelete済みのarrayを保持し続けている
|
24
24
|
|
25
|
+
0. コンテナ側で持っているarrayは存在しないポインタなので、deleteやその他のアクセスはすべて正常に動作しない
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
という感じです。
|
30
|
+
|
25
31
|
|
26
32
|
|
27
33
|
解決策はおまかせします( =0の処理をやめるのも手)。
|
1
0
test
CHANGED
@@ -4,18 +4,24 @@
|
|
4
4
|
|
5
5
|
> for(int i = 0;i < insize;++i)
|
6
6
|
|
7
|
-
>
|
7
|
+
> array[i]=0;
|
8
8
|
|
9
9
|
|
10
10
|
|
11
11
|
上記のコードで
|
12
12
|
|
13
|
-
一時的に
|
13
|
+
一時的に`ttkkggww::vector<int>(0)`を生成して代入しているようです。
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
ttkkggww::vector<int>(0)
|
17
|
+
0. 一時的に`ttkkggww::vector<int>(0)`が生成され内部でarrayをnewする
|
18
|
+
|
19
|
+
0. コンテナ側へ↑の内容が丸ごとコピーされる
|
20
|
+
|
21
|
+
0. 1が破棄される(arrayもdelete[]される)
|
22
|
+
|
23
|
+
0. コンテナ側は複製を持っているので3でdelete済みのarrayを保持し続けている
|
18
24
|
|
19
25
|
|
20
26
|
|
21
|
-
解決策はおまかせします。
|
27
|
+
解決策はおまかせします( =0の処理をやめるのも手)。
|