标签:dex value ons 好的 必须 col div pre code
C++函数返回可以按值返回和按常量引用返回,偶尔也可以按引址返回。多数情况下不要使用引址返回。
使用按值返回总是很安全的,但是如果返回对象为类类型的,则更好的方法是按常量引用返回以节省复制开销。必须确保返回语句中的表达式在函数返回时依然有效。
const string& findMax(const vector<string>& arr) { int maxIndex = 0; for (int i=1;i<arr.size();i++) { if (arr[maxIndex] < arr[i]) maxIndex = i; } return arr[maxIndex]; } const string& findMaxWrong(const vector<string>& arr) { string maxValue = arr[0]; for (int i=1;i<arr.size();i++) { if (maxValue < arr[i]) maxValue = arr[i]; } return maxValue; }
findMax()是正确的,arr[maxIndex]索引的vector是在函数外部的,且存在时间鲳鱼调用返回的时间。
findMaxWrong()是错误的,maxValue为局部变量,在函数返回时就不复存在了。
标签:dex value ons 好的 必须 col div pre code
原文地址:https://www.cnblogs.com/larry-xia/p/10263859.html