c 引用返回值

2021-06-19 19:25:54 字數 434 閱讀 4356

函式返回值時,要生成乙個值的副本。而用引用返回值時,不生成值的副本。

例如,下面的程式是有關引用返回的4種形式:

//*********************

//**   ch9_6.cpp  **

//*********************

#include

float temp;

float fn1(float r)

float& fn2(float r)

void main()

void main()

見圖9-9說明。

圖9-9 返回的引用是區域性變數

如果返回的引用是作為乙個左值進行運算,也是程式設計師最犯忌的。所以,如果程式中有下面的**,則一定要剔除:

float& fn2(float r)

void main()

c 引用返回值

引用作為函式的返回值時,函式的返回值能夠理解為函式返回了乙個變數 事實上,函式返回引用時,它返回的是乙個指向返回值的隱式指標 因此,值為引用的函式能夠用作賦值運算子的左運算元。另外,用引用返回乙個函式值的最大優點是。在記憶體中不產生被返回值的副本。include using namespace st...

c 引用返回值

引用作為函式的返回值時,函式的返回值能夠理解為函式返回了乙個變數 事實上,函式返回引用時,它返回的是乙個指向返回值的隱式指標 因此,值為引用的函式能夠用作賦值運算子的左運算元。另外,用引用返回乙個函式值的最大優點是。在記憶體中不產生被返回值的副本。include using namespace st...

c 返回值為引用

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