「ガベージコレクション」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
6行目: | 6行目: | ||
人間は必ずミスをするものであり、たとえ[[天才プログラマー]]であっても[[プログラム]]が巨大化するにつれ、[[メモリリーク]]は必ずと言っていいほど発生する。ガベージコレクションはそのような問題を回避するために考えられたもので、[[ライブラリ]]、または[[ランタイム]]によって使い終わった[[メモリ]]を自動的に解放する機構を提供する。 | 人間は必ずミスをするものであり、たとえ[[天才プログラマー]]であっても[[プログラム]]が巨大化するにつれ、[[メモリリーク]]は必ずと言っていいほど発生する。ガベージコレクションはそのような問題を回避するために考えられたもので、[[ライブラリ]]、または[[ランタイム]]によって使い終わった[[メモリ]]を自動的に解放する機構を提供する。 | ||
− | [[C言語]]などで使われている[[ライブラリ]]実装のものは、[[ソースコード]]が若干煩雑になる傾向がある。なお、[[C++]]の[[Boost]]や、[[Boost]] | + | [[C言語]]などで使われている[[ライブラリ]]実装のものは、[[ソースコード]]が若干煩雑になる傾向がある。なお、[[C++]]の[[Boost]]や、[[Boost]]から取り込まれたC[[++11]](旧[[C++0x]])の[[スマートポインター]]はこの点が大幅に改善している。 |
[[.NET]]や[[Java]]、[[PHP]]で使われている[[ランタイム]]実装のものは、[[プログラム]]([[プロジェクト]])が小規模なうちは[[プログラマー]]は特に何も考える必要がなく、非常に手軽である。 | [[.NET]]や[[Java]]、[[PHP]]で使われている[[ランタイム]]実装のものは、[[プログラム]]([[プロジェクト]])が小規模なうちは[[プログラマー]]は特に何も考える必要がなく、非常に手軽である。 |