What is the second line? (Seen while answering another question.)

```
int * x = new int [1] ;
int * y = new (x) int;

```

After the second line x and y have the same value (point to a same place). What's the difference between y = x and the second line? Is it like a constructor or something?