Why bother with references?
Attach a temporary name to an object inside a complicated data structure
Implement call by reference
- Allow a function to modify its arguments
- Pass an argument that does not have copying defined
- Avoid copying for efficiency reasons