引用做引數與引用做返回值

2021-10-09 22:38:46 字數 617 閱讀 6232

一、引用做引數

引用做引數時,和c語言中的「傳址」是乙個道理,即通過函式來改變身處主函式中的變數。

例:

void fun(int &b)

int main()

執行fun函式後,主函式中的整型變數a的值就變為了22,因為a和b實際上是同一處空間但是有了不同的名字。

可以拓展到交換主函式中變數的值:

void fun(int &a,int &b)

int main()

執行完fun函式後,主函式中的變數a和變數b的值就會交換。

二、引用做返回值

形式:

int& fun()

因為返回值的型別是int&,所以使用乙個int變數來裝返回值時編譯器會報錯。

正確的寫法是用引用來裝:

int& fun()

int main()

注意:不要返回區域性變數,因為函式中區域性變數的生命週期到函式執行完畢就結束了,空間就被系統釋放了,這之後再使用這塊空間是非法的。

C 中 引用 做引數和返回值

例如,我自己實現乙個字串類 cdstring 其中有兩個運算子過載函式 c c code?1 2 cdstring operator constcdstring other cdstring operator constcdstring other 請問 1 兩個返回有什麼區別?2 引數為什麼要 有...

027 C 引用做函式返回值使用

include using namespace std 通過使用引用來替代指標,會使c 程式更容易閱讀和維護。c 函式可以返回乙個引用,方式與返回乙個指標類似。當函式返回乙個引用時,則返回乙個指向返回值的隱式指標。這樣,函式就可以放在賦值語句的左邊。double values templateint...

引用引數與引用返回值

經常看到這樣的宣告 t func t t 這種宣告和t func t t 有什麼區別?書上的解釋是為 了提高效率,究竟是如何提高效率的呢?內部執行了什麼操作?本文通過8個小例子對引用引數 和引用返回進行了一次徹底的排查。首先看一下在類的成員函式中的引用引數和引用返回值 類定義class a 建構函式...