ごみ (プログラミング)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
ごみ(プログラミング)とは、次のものをいう。
- プログラムの実行時に、実行単位(スレッドなど)から参照することができなくなったオブジェクト(『ガベージコレクタ』も参照)。
- 初期化がされていない記憶領域に入っているデータ。その内容は実行するたびに異なる可能性がある。
例
次のC言語のプログラムにおいて、変数xは宣言だけされていて、値が代入されていない。このとき、「xには“ごみ”が入っている」という。
int main() {
int x;
printf("%d\n",x);
}
xの値の内容は何であるかは保障されないため、プログラムの動作も保障されなくなり、バグの原因となる。しかしながら、ごみの内容は、短い期間に繰り返し実行した場合は同じ値になることが多い。このため、デバッグ時にごみを入れた状態で何度も実行を行っても、同じ動作になり、バグに気がつかないことも多い。なお、前述のようなバグを防ぐため、Javaなど一部の言語では変数は初期化しないとコンパイルエラーになる(Javaではインスタンスフィールドは初期化しないと、自動的に初期化式が挿入される)。