0

new を使用して tnode を作成するクラスでバイナリ ツリー構造を作成しました。そのために freetree 関数を書かなければなりません。

私はちょうど一般的な質問があります。new を使用してスペースを割り当てる場合、いつ解放する必要がありますか?

4

1 に答える 1

0

割り当てられたスペースがもう必要なくなったとき。

struct Data { ... }

...

Data* data{new Data};
data->something();
doSomethingWithDataPtr(data);

delete data;

明らかに、この例は非常に単純ですが、いつdeleteスペースを割り当てるかを決定することは完全に主観的です...最終的には必ず削除してください。(間違いを避けるためにnew、代わりにスマート ポインターを使用することを検討してください)。delete

于 2013-08-07T23:13:49.893 に答える