The second is invalid. Only a pointer to can use the new operator. Here is a little breakdown for you.
int foo = 10; // normal assignment;
int *fooPointer = new int;
*fooPointer = foo; // now fooPointer is a pointer to an int that holds the value of 10
int & fooReference = foo; // reference. now anything that happens to fooReference happens to foo.