c 函式返回值是乙個引用

2021-10-02 15:07:06 字數 509 閱讀 3593

函式返回值是乙個引用的情況:

1.值是如何被返回的:

返回的值用於初始化呼叫點的乙個臨時量,該臨時量就是函式呼叫的結果。

如果函式返回引用,則該引用僅是它所引物件的乙個別名。

2.不能返回區域性物件的引用或指標:

函式完成後,他所佔的記憶體空間將被釋放,函式的終止意味著區域性變數的引用將指向不再有效的記憶體區域。

const string &

mainip()

3.引用反回左值:

左值:賦值運算子需要乙個(非常量)左值作為其左側運算物件,得到的結果也仍然是乙個左值。當乙個物件被用作右值的時候,用的是物件的值(內容);當物件被用作左值的時候,用的是物件的身份(記憶體中的位置)。

char

&get_val

(string &str , string:

:size_type ix)

intmain()

當函式返回值是引用

同其他引用型別一樣,如果函式返回引用,則該引用僅是它所引物件的乙個別名。舉個例子來說明,假定某函式挑出兩個string 形參中較短的那個並返回其引用 函式的返回型別決定函式呼叫是否是左值。const string shorterstring const string s1,const string ...

C 函式返回值與引用

對於函式的返回值,看似簡單,但並非如此,比如 int func int a 該函式會返回乙個int型,如果進行乙個呼叫int result func 3 會發生什麼情況?首先,func將返回值複製到乙個匿名臨時變數中,在這裡假設該臨時變數為anony 其實是沒有名字的,這裡方便闡述 然後,再將ano...

c 函式返回值與引用

對於函式的返回值,看似簡單,但並非如此,比如 int func int a 該函式會返回乙個int型,如果進行乙個呼叫int result func 3 會發生什麼情況?首先,func將返回值複製到乙個匿名臨時變數中,在這裡假設該臨時變數為anony 其實是沒有名字的,這裡方便闡述 然後,再將ano...