「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

デリファレンス

pointこの用語のポイント

point参照先を見に行くよ

スポンサーリンク

簡単に書くよ

デリファレンス(英:dereference)とは

何かを参照しているものの参照先を見に行くこと。
あるいは

プログラミング言語のPerlにおいて使われる表現で、リファレンスの指し示す先の値を取得・参照すること
です。


image piyo

詳しく書くよ

リファレンスは「何かを参照しているもの」ね。

デリファレンス

このリファレンス先の値を実際に見に行く(参照する)のが「デリファレンス」です。

デリファレンス2

「デリファレンス」という表現は主にプログラミング言語Perlで出てきます。
よって、このページではPerlのデリファレンスについて説明しますね。

まず前提として、Perlにおける「リファレンス」「デリファレンス」はC言語でいうポインタポインタ変数のようなやつです。
「ポインタって何ですか?」な人は、まずは、用語「ポインタ変数」の説明を ご覧ください。
遠回りに思えるかもしれませんが、ポインタの概念を押さえておいて損は ありません。
逆に言えば、ポインタの概念が分かっていれば、Perlのリファレンス/デリファレンスを理解するのは楽なはずです。

……C言語のポインタについては、バッチリになりましたでしょうか?
それでは、C言語のポインタを理解している前提で、Perlのリファレンスについて説明します。

C言語のポインタでは

p = &a;

と書くことで、変数「a」の居場所メモリ上のアドレス)をポインタ変数「p」に入れられました。
同じようにPerlでも

$p = \$a;

と書くことで、変数「$a」の居場所(メモリ上のアドレス)を変数「$p」に入れられるのです。

また、C言語のポインタでは

*p

と書くことで、変数「a」の中身を参照できました。
同じようにPerlでも

$$p

と書くことで、変数「a」の中身を参照できるのです。

Perlにおいて

$p = \$a;

のようにして変数のアドレスを他の変数に入れることを「リファレンス」と言います。
あるいは、変数のアドレスを入れた変数「$p」を「リファレンス」と言ったり、アドレス化した変数「\$a」を指して「リファレンス」と言う場合も あります。

細かいニュアンスは前後の文章によって違ってきたりしますけどね。
いずれにせよ「変数のアドレスを取得する行為」に関連する何かを指す用語です。

そして、いよいよ本題です。

$$p

のようにして、リファレンスの指し示す先の値を取得・参照することを「デリファレンス」と言います。

多少の語弊はありますが

リファレンス→変数をアドレス化
デリファレンス→アドレスから元の変数を復活


と考えると分かりやすいと思います。
リファレンスとデリファレンスはセットで覚えてあげてください。


image piyo2

一言でまとめるよ

まぁ「デリファレンス」って単語が出てきたら「リファレンス先を参照することなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像010
書籍画像055

おまけ

■訳してみるよ

「de(デ)」という接頭辞が付くと「反対に」とか「離れる」とか「下」とか「外へ」のような意味になります。
「reference(リファレンス)」の意味は「言及」とか「論及」とか「参照」とか「照合」とか「参考」とか「引用文」とか「参考文献」とか「参考図書」とかです。
何となく くっつけると

反対の参照

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
つくって、壊して、直して学ぶ Git&GitHub 入門
サイバーセキュリティお嬢様と学ぶ 情報セキュリティの基本