將函式的返回值引用定義為引用

2021-08-26 03:22:50 字數 467 閱讀 2113

「將函式的返回值定義為引用」是一種比較有效的做法。

例如(分析見程式的注釋):

#include#includeusing namespace std; char & get_val(string &str,int i)//返回型別為引用 int main() int main() void main()

執行的結果為:

0012ff7c, 0012ff7c, 0012ff78

a和b的位址不等。

返回指標的情形

例如: #include char *retmemory() void main( )

分析:str能得到p嗎?不能!因為函式呼叫結束後p的記憶體就被**了,所以最好是利用傳引數的形式定義p或者將p定義為全域性變數。

所以要避免返回 指向函式內部定義的變數或字串常量 的指標。

end

將函式的返回值引用定義為引用

將函式的返回值定義為引用 是一種比較有效的做法。例如 分析見程式的注釋 cpp view plain copy print?include include using namespace std char get val string str,inti 返回型別為引用 intmain 對比一下沒有返...

14 函式返回值為引用?

函式返回值可以是引用嗎?當然可以,只是在函式返回引用的時候需要注意幾點。以下給出討論!函式在返回值的時候,會產生乙個臨時變數作為函式返回值的副本 而函式在返回引用的時候,不會產生副本!那麼既然是引用,那麼到底是引用誰呢?首先,我們知道要清楚函式返回引用的幾種常見形式 1 引用函式的引數,當然該引數 ...

c 返回值為引用

與返回原值的區別 return的位址和返回值的位址是同乙個,也就是佔據著同一塊記憶體,因此要求此時return的東西必須是乙個實體 有儲存位址 不能是乙個作用域僅在函式中的區域性變數 例如 int fun a fun 就會報錯。因為a找不到它應該存在的位址在 int fun int c a fun ...