ポインターと参照の違い
著者:
Laura McKinney
作成日:
1 4月 2021
更新日:
1 J 2024
![【13分で解説】丁寧に学ぶC++入門 ⑩【ポインタ】](https://i.ytimg.com/vi/HJ-R_c_jazc/hqdefault.jpg)
コンテンツ
「ポインタ」と「参照」は両方とも、別の変数を指すまたは参照するために使用されます。しかし、両者の基本的な違いは、ポインター変数が、メモリー位置が格納されている変数を指すことです。参照変数は、それに割り当てられる変数のエイリアスです。以下の比較表は、ポインターと参照のその他の違いを示しています。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の基礎 | ポインタ | 参照 |
---|---|---|
ベーシック | ポインターは変数のメモリアドレスです。 | 参照は変数のエイリアスです。 |
返品 | ポインター変数は、ポインター記号*が前に付いた、ポインター変数に格納されているアドレスにある値を返します。 | 参照変数は、参照記号&が前に付いた変数のアドレスを返します。 |
オペレーター | *, -> | & |
ヌル参照 | ポインター変数はNULLを参照できます。 | 参照変数はNULLを参照できません。 |
初期化 | 初期化されていないポインターを作成できます。 | 初期化されていない参照は作成できません。 |
初期化の時間 | ポインター変数は、プログラムの任意の時点で初期化できます。 | 参照変数は、作成時にのみ初期化できます。 |
再初期化 | ポインター変数は、必要な回数だけ再初期化できます。 | 参照変数は、プログラム内で再び再初期化することはできません。 |
ポインターの定義
「ポインタ」は、別の変数のメモリ位置を保持する変数です。ポインター変数で使用される演算子は*および->です。ポインター変数の宣言には、基本データ型の後に「*」記号と変数名が続きます。
タイプ* var_name;
例の助けを借りて、ポインターを理解しましょう。
int a = 4; int * ptr =&a; cout <に対して、参照演算子は&です。
注意:
Javaはポインターをサポートしていません。
結論
ポインターと参照の両方は、別の変数を指すまたは参照するために使用されます。ただし、どちらも使用方法と実装方法が異なります。