回答編集履歴
2
不正確な記述を修正
test
CHANGED
@@ -12,4 +12,6 @@
|
|
12
12
|
|
13
13
|
ご質問でも指摘されているように②の方法では必ずdeleteする必要がありますが、C++では「スマートポインタ」という仕組みが一般的に使われており、deleteし忘れを防止することができます。
|
14
14
|
|
15
|
-
JavaやC#
|
15
|
+
JavaやC#ではGC(ガベージコレクション)の仕組みによりnewしてもdeleteする必要はありません。C++もスマートポインタを使いこなすことで、Javaのようにdeleteせずとも自動でインスタンスの解放を制御できるようになります。
|
16
|
+
|
17
|
+
|
1
敬称抜けてました。すみません
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
Chironian の説明にある通り、①の方法で定義した変数はブロックから抜けると解放されるため、残しておきたい場合は②の方法でヒープ上にインスタンスを確保します。
|
5
|
+
Chironian さんの説明にある通り、①の方法で定義した変数はブロックから抜けると解放されるため、残しておきたい場合は②の方法でヒープ上にインスタンスを確保します。
|
6
6
|
|
7
7
|
|
8
8
|
|