無効なポインタの回避
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/27 10:00 UTC 版)
「ガベージコレクション」の記事における「無効なポインタの回避」の解説
例えば、メモリーを割り当てる手続き(C言語では malloc 関数)で確保したメモリ領域を指すポインタだったが、メモリー解放する手続きに(C言語では free 関数)渡し解放した直後のポインタや、サブルーチン内の非静的なローカル変数のアドレスを指すポインタだったが、戻り値などによって誤ってサブルーチンの呼び出し元に返却されてしまったポインタ、などが該当する。これらのポインタにはあるアドレスが代入されているが、そのアドレスには有効なオブジェクトがすでに存在せず、ポインタは無効なメモリアドレスを指している。このような無効なポインタをダングリング・ポインタ (dangling pointer) といい、ガベージコレクションはこの問題を回避する。
※この「無効なポインタの回避」の解説は、「ガベージコレクション」の解説の一部です。
「無効なポインタの回避」を含む「ガベージコレクション」の記事については、「ガベージコレクション」の概要を参照ください。
- 無効なポインタの回避のページへのリンク