C(++)言語とポインタとリファレンス

リファレンス(ポインタ)自体に型はない。


リファレンス(ポインタ)とリファレンス(ポインタ)が指すオブジェクトを格納する変数
を同時に定義するために、リファレンス(ポインタ)の定義にリファレンス(ポインタ)が
指すオブジェクトの型を付加する構文になっている。


C(++)のポインタ定義は「<ポインタが指すオブジェクトの型>* <変数名>」、<変数名>のみではポインタが指すオブジェクトの格納されたアドレス、
*<変数名>でポインタが指すオブジェクトの中身。
注)C言語の用語ではオブジェクトとは呼ばない...。


C++のリファレンス定義は「<リファレンスが指すオブジェクトの型>& <変数名>」、<変数名>のみでリファレンスが指すオブジェクトそのもの。


リファレンスは特定のオブジェクトに対して別名を付けるイメージで捉えると理解し
やすい気がする。ファイルシステムでのシンボリックリンクorエイリアスに例えると
わかりやすいかもしれない。