回答編集履歴
3
文言修正
answer
CHANGED
@@ -16,5 +16,5 @@
|
|
16
16
|
|
17
17
|
---
|
18
18
|
|
19
|
-
yumetodoさんもコメントされていますが、生のポインタは
|
19
|
+
yumetodoさんもコメントされていますが、生のポインタは解放漏れや2重解放の原因となりますので
|
20
20
|
C++のコードではスマートポインタ([unique_ptr](https://ja.cppreference.com/w/cpp/memory/unique_ptr)/[shared_ptr](https://ja.cppreference.com/w/cpp/memory/shared_ptr)/[weak_ptr](https://ja.cppreference.com/w/cpp/memory/weak_ptr))の使用を検討してください。
|
2
リンク追加
answer
CHANGED
@@ -12,4 +12,9 @@
|
|
12
12
|
> ポインタのクラスをdeleteできなくて困っています。
|
13
13
|
|
14
14
|
`straightine`と`straightine2`の値を変更しているためです。
|
15
|
-
別の変数に退避しておくなどして、`delete`には`new`が返したアドレスを渡してください。
|
15
|
+
別の変数に退避しておくなどして、`delete`には`new`が返したアドレスを渡してください。
|
16
|
+
|
17
|
+
---
|
18
|
+
|
19
|
+
yumetodoさんもコメントされていますが、生のポインタは開放漏れや2重解放の原因となりますので
|
20
|
+
C++のコードではスマートポインタ([unique_ptr](https://ja.cppreference.com/w/cpp/memory/unique_ptr)/[shared_ptr](https://ja.cppreference.com/w/cpp/memory/shared_ptr)/[weak_ptr](https://ja.cppreference.com/w/cpp/memory/weak_ptr))の使用を検討してください。
|
1
文言修正
answer
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
(略)
|
4
4
|
straightine = new StraightLine[1];
|
5
5
|
(略)
|
6
|
-
*straightine++; //
|
6
|
+
*straightine++; // 値を変更している
|
7
7
|
(略)
|
8
|
-
straightine2 = dynamic_cast<StraightLine*>(*it); //
|
8
|
+
straightine2 = dynamic_cast<StraightLine*>(*it); // 値を変更している
|
9
9
|
(略)
|
10
10
|
//ここでstraightineとstraightine2をdeleteしたい
|
11
11
|
```
|