• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:配列の中身のdelete)

配列からのメモリ開放についての質問

このQ&Aのポイント
  • 配列を使用した際に、メモリが開放されずに困っています。単純なメモリ確保と開放を行っているにもかかわらず、Deleteでメモリが解放されません。
  • ポインタが怪しいと考えていますが、うまくメモリを解放する方法はありますか。
  • 初歩的な質問ですが、配列の中身の削除について困っています。どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

正しくdeleteするためには,deleteされるオブジェクトの静的な型 (今回ではBase) にvirtualの付いたデストラクタがないといけません。 そうでない場合,deleteされるオブジェクトの静的な型とnewした型 (今回ではSub) が異なる場合は未定義動作とされています。

yamidare
質問者

お礼

なるほど、調べてみれば、スーパークラスのデストラクタには Virtualを付けておいた方が良いようですね。 そうしないとスーパークラスのデストラクタだけが実行されるようですね…。 ありがとうございました