プログラムの実行中に動的に確保したメモリ領域の解放を忘れ、いつまでも領域を占有し続けてしまうバグのことです。
動的なメモリ割り当て(ダイナミックメモリアロケーション)では、メモリ領域の確保と解放をそれぞれ明示的に行う必要があるため、解放の操作を忘れたり、ミスによって解放できていなかったりする可能性があります。解放を行って未使用の状態に戻さないと、ほかの用途で利用できないため、メモリ不足になる恐れがあり、プログラムの実行を継続できなくなるかもしれません。
プログラミング言語や処理系によっては、メモリリークを検出したり、防止したりするための仕組みが備わっている場合もあります(ガーベジコレクション、スマートポインタ、例外など)。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |