c++函数返回值是一个引用
生活随笔
收集整理的這篇文章主要介紹了
c++函数返回值是一个引用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數返回值是一個引用的情況:
1.值是如何被返回的:
返回的值用于初始化調用點的一個臨時量,該臨時量就是函數調用的結果。
如果函數返回引用,則該引用僅是它所引對象的一個別名。
2.不能返回局部對象的引用或指針:
函數完成后,他所占的內存空間將被釋放,函數的終止意味著局部變量的引用將指向不再有效的內存區域。
const string &mainip(){string ret;if(!ret.empty())return ret;//錯誤,返回局部對象的引用elsereturn "empty";//錯誤,“empty”是一個局部臨時量 }3.引用反回左值:
左值:賦值運算符需要一個(非常量)左值作為其左側運算對象,得到的結果也仍然是一個左值。當一個對象被用作右值的時候,用的是對象的值(內容);當對象被用作左值的時候,用的是對象的身份(內存中的位置)。
char &get_val(string &str , string::size_type ix){return str[ix]; } int main(){string s("a value");cout << s << endl;get_val(s,0) = 'A';//將s[0]的值改為A,調用是個左值,和其他左值一樣也能出現在賦值運算符左側。cout << s << endl;//輸出A valuereturn 0; }總結
以上是生活随笔為你收集整理的c++函数返回值是一个引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: figtree如何编辑进化树_iTOL快
- 下一篇: c++ 命名空间的using声明