誰かがこのコードを説明できますか
// Option 1
int **p = new Point*[2];
p[1] = new Point;
p[1]->x = p[1]->x = 1;
// Option 2
int **p = new Point*[2];
*(p+1) = new Point;
(*(p+1))->x = (*(p+1))->x = 1;
両方のオプションは同じではありませんか?オプション2を使用して変数を作成すると、オプション1でその値を書き込めないのはなぜですか(乱数(アドレス番号?)を取得しました)?違いはありますか?