• ベストアンサー

オブジェクトの生成やメモリの削除について

class X{ ........ ........ ........ } に対し、 X *a=new X;//--------------1 ... ... ... a=new X;//----------------2 としてdeleteせずにnewをした場合、1の段階で作ったオブジェクトは削除されずメモリに残りっぱなしになるのでしょうか? これは、プログラムを終了しても残り続けるものなのでしょうか? また、mallocやcallocの場合はどうなるのでしょうか?

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

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

残ります。 終了時には解放されますが、デストラクタは呼ばれません。

coronalith
質問者

お礼

C++は残るのですか、どうも有り難うございました。

その他の回答 (1)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

mallocやcallocはOSによって挙動が違ったと 思います。 オブジェクトの生成に対して削除をしない場 合、その変数が何かによって、オブジェクト 領域の寿命が変わります。 「スコープ」を勉強してください。

coronalith
質問者

お礼

どうも有り難うございました。

関連するQ&A