プログラミング言語「C++」についてどんな言語なのか解説

目次から探す

ポインタと参照

ポインタとは

ポインタは、メモリ上のアドレスを格納するための変数です。C++では、ポインタを使って直接メモリにアクセスすることができます。

int num = 10;
int *pNum = # // ポインタ変数にnumのアドレスを代入

上記の例では、&演算子を使ってnum変数のアドレスを取得し、それをpNumというポインタ変数に代入しています。

ポインタの演算

ポインタは、加算や減算などの演算が可能です。これにより、配列や文字列などのデータ構造に対して効率的な処理が行えます。

int arr[3] = {1, 2, 3};
int *pArr = arr; // 配列arrの先頭要素へのポインタを代入
cout << *pArr << endl; // 出力結果:1
pArr++; // ポインタを次の要素に移動
cout << *pArr << endl; // 出力結果:2

上記の例では、配列arrの先頭要素へのポインタをpArrに代入しています。

そして、*pArrで先頭要素(つまり1)にアクセスし、その後ポインタを次の要素に移動させています。移動後は、再度*pArrで値(つまり2)にアクセスしています。

参照とは

参照は、既存の変数に別名を付けることができる機能です。

参照は通常、「&」演算子で定義されます。参照型変数自体が新しいメモリ領域を確保するわけではありません。そのため、参照型変数自体へ値を代入することはできません。

int num = 10;
int &refNum = num; // 参照型変数refNum を定義し、num を参照させる
cout << refNum << endl; // 出力結果:10
refNum++; // 参照先(num) の値が増加する.  
cout << num << endl; // 出力結果:11 

上記例では、整数型変数 num を定義し、その値 10 を初期化します。

そして、整数型参照型変数 refNum を定義し、この参照型変数 refNum が整数型変数 num を参照させます。

最後に、参照先num)の値も同時に増加させています。

1 2 3 4 5 6 7 8

目次から探す