通知
すべてクリア
Topic starter
2003年1月27日 10:00 AM
くだらない質問なのですが…
動的確保されたメモリを解放しないという
他にもメモリリークが起こる要因はあるでしょうか?
2003年1月27日 10:58 AM
動的に確保したメモリを解放し忘れることをメモリリークと呼ぶのだと思います。
2003年1月27日 11:19 AM
問題なのは、自分が直接確保していない部分に関しても起こりうるということです。
提供されている関数を呼び出す手順や操作方法を間違っていれば起こりうる話です。
必ずしも自分が直接確保している部分だけがメモリリークの対象ではない点にも
気をつけるべきでしょう。
2003年1月27日 11:26 AM
Windows アプリケーションという事で言えば(結局は確保した記憶が解放しないまま
で放って置かれる事になるのですが)、
CWnd::GetDC() したまま CWnd::ReleaseDC() しない
CDC::SelectObject() しっぱなし
CBitmap::Attach() するのはいいが、もとから有ったビットマップをそのままにしておく
など、new や malloc() やで記憶を確保したかに一見見えない場合でも漏れが起きることが
あります
2003年1月27日 6:58 PM
newしたときの型とdeleteしたときの型が違ったりしても
おきますよね。
AfxBeginThread()使ったときにちょっとはまっちゃいました。