C++のポインタの復習 1.ランクデータ構造- 1つのノードに別のノードのアドレスを記録することでノード間の線分を表現できる。
- リンクリスト、ツリー、グラフなどのデータ構造で使う。
2.データ構造の動的割り当て- 必要な要素の数を実行時に判断し、そのサイズに基づいてベクトル形式のデータ構造を動的に割当てることができる。
- ポインタは、この種のデータ構造で開始アドレスを記録するために使われる。
- 関数間のデータの受け渡しやリンクデータ構造の構成要素も、構造体のメモリアドレスを記録するために使われる。
3. 参照呼び出し- 関数から引数に結果を返したいとき
- 大きな要素を受け渡すことを逃げたいとき
4.データの要素へのアクセス インデックス | ポインタ | int i;
| T *p;
| i = 0;
| p = a; (p = &a[0]; )
| a[i] | *p
| a[i].f | p->f
| i == N
| p == &a[N] (p == a + N)
|
5. 配列による引数と戻り値- 「3。参照呼び出し」と間違いやすい。「3.」には、引数の値が変わらないが、「5.」には、引数が変わる。
6.関数のポインタ- 関数の処理をパラメータ化するために別の関数を引数として使うことができる。
7.ポインタによる別名参照 |
|