The function call can appear on the left hand side of an assignment operator . This ability may seem strange at first. You can't separate the reference from the referent. Use references when you can, and pointers when you have to. This usually means that references are most useful in a class's public interface.
References typically appear on the skin of an object, and pointers on the inside.
E.g., programmers should write code in the language of the problem rather than the language of the machine.