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