回答編集履歴
1
少し補足
test
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
呼び出し側(new Doerする側)で、newしたClassAへのポインタを保持しない場合、呼び出し側でdeleteするのは面倒ですし構造が汚くなりがちです。
|
5
|
+
呼び出し側(new Doerする側)で、「newしたClassAへのポインタ」を保持しない場合、呼び出し側でdeleteするのは面倒ですし構造が汚くなりがちです。
|
6
|
+
|
7
|
+
Doerのデストラクタでデストラクトするのが比較的良く使われる手法と思います。
|
6
8
|
|
7
9
|
|
8
|
-
|
9
|
-
Doerのデストラクタでデストラクトするのが比較的良く使われる手法と思います。
|
10
10
|
|
11
11
|
ただし、その際はDoerのインスタンスを単純にコピーするようなコードを書くと、多重deleteしてしまいます。
|
12
12
|
|
@@ -34,4 +34,4 @@
|
|
34
34
|
|
35
35
|
```
|
36
36
|
|
37
|
-
そのようなバグを回避するためにコピーコンストラクタとコピー演算子をdeleteしておくと安全性が高まります。
|
37
|
+
そのようなバグを回避するためにコピーコンストラクタとコピー演算子をdeleteしておくと、間違ってコピーするコードを書いた時にコンパイルエラーになるので安全性が高まります。
|