函式返回值時,要生成乙個值的副本。而用引用返回值時,不生成值的副本。
例如,下面的程式是有關引用返回的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 ...