Can somebody please explain this code
// 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;
Isn't both options the same? Why when I create the variable using option 2, I cant write its value with option 1 (I got random numbers (address numbers?))? Is there any difference?