What is the Difference Between a Pointer and a Reference C++