C++ references cannot be re-seated and a change in reference, changes the underlying variable's value.
std::string s1("abc");
std::string s2("xyz");
std::string& ref = s1;
std::string *ptr= &s1;
std::cout << ref << " -- " << *ptr << std::endl;
ref = s2;
std::cout << s1 << " -- " << *ptr << std::endl;
What is the output of the above 2 print statements?