実際、あなたは p[index].x
を使用しています と p[index].y
struct
の要素にアクセスする
ptr->member
operator は単に (*ptr).member
の省略形です .これを使用するには、左側にポインタが必要です:
Point *p = new Point;
p->x = 12.34;
p->y = 56.78;
動的に割り当てられた配列の場合でも、->
演算子は機能します:
Point *p = new Point[10];
p->x = 12.34;
p->y = 56.78;
これは
と同等ですp[0].x = 12.34;
p[0].y = 56.78;
配列へのポインターは、その最初の要素へのポインターと等しいためです。