References are similar to pointers: both refer to an object in memory.
References are merely alias.
A pointer is not merely an alias.
A pointer is an object and the object itself are two separated identities.
A pointer has its own memory address and can point at a new memory address and thus referencing a different object.