dereference
デリファレンスする
他動詞
過去形: dereferenced過去分詞: dereferenced現在分詞: dereferencing
dereferenceは、プログラミングにおいてポインタが指し示しているメモリ上の実際のデータにアクセスする操作を指します。ポインタ自体は単なるメモリ番地(アドレス)を保持している変数に過ぎませんが、その番地の中身を取り出して利用することをデリファレンスと呼びます。
参照とデリファレンスの関係
対照的な概念としてreference(参照)があります。一般的に、ある変数から別の変数のアドレスを取得することを参照と呼び、その取得したアドレスを辿って値にアクセスすることをデリファレンスと呼びます。例えば、C言語などの言語では、アスタリスク記号を用いてこの操作を明示的に行います。
注意すべきリスク
デリファレンスを行う際に最も注意が必要なのが、ポインタが何も指していない状態であるnull pointer(ヌルポインタ)の操作です。有効なアドレスが格納されていない状態でデリファレンスを試みると、メモリ管理違反となり、プログラムが強制終了するなどの重大なエラーを引き起こします。そのため、実務ではデリファレンスを行う前に、ポインタが有効な値を保持しているかを確認する処理を組み込むことが不可欠です。
意味
他動詞デリファレンスする
[~ something]
コンピュータープログラミングにおいて、ポインタが保持しているメモリ番地に格納された値にアクセスすること
The program will crash if you attempt to dereference a null pointer.
ヌルポインタをデリファレンスしようとすると、プログラムがクラッシュします。
関連語
referencepointeraddressmemoryvariableallocationheapstackoffsetsegmentationnullpointer arithmeticcompilerinterpreteropcodeinstructionregisterbuscachelatencybytewordbitendiannessvirtual memorypagingsegmentation faultoverflowunderflowleakgarbage collectionhandledescriptorindexarraylinked listtreegraphnodeedgelinkaliasbindingscopelifetimeownershipborrowingtypecastingprimitiveobjectinstanceclassunioncall stackmemory mapaddress space