// if you change t with s in the snippet, the code has the same effect #include<iostream> #include<string> std::string method(std::string& s) { s = s.substr(1, s.npos); return s; } int main(int argc, char** argv) { using namespace std; string s("ciao"); cout << s << endl; while(true) { string& t = s; //////////// snippet //////////////// t = method(t); if (t.length() == 0) { break; } cout << t << endl; //////////// end snippet //////////// } return 0; }the output is:
ciao iao ao oNow examine the part of the code marked ``snippet'': it has the curious property that if you replace any occurrence of the t variable symbol with the s variable symbol, you still obtain the same output. Explain why.