// compiled by g++ -std=c++11 a.cpp // try option 1 and option 2 in the main routine // comment out one option #include #include #include using namespace std; const string & findMaxWrong(const vector &arr) { string maxValue = arr[0]; for (int i=1; i < arr.size (); i++) if (maxValue < arr[i]) maxValue = arr[i]; return maxValue; } string findMax(const vector &arr) { string maxValue; for (int i=1; i < arr.size (); i++) if (maxValue < arr[i]) maxValue = arr[i]; return maxValue; } int main() { vector a = {"ab", "bc", "ee"}; cout << "from findMax: "; cout << findMax(a) << "\n"; // option1 cout << "from findMaxWrong: "; cout << findMaxWrong(a) << "\n"; // option 2: //cout << "from findMaxWrong: " << findMaxWrong(a) << "\n"; return 1; }