c++ 把引用作為返回值
c++ 引用 c++ 引用
通過使用引用來替代指標,會使 c++ 程式更容易閱讀和維護。c++ 函式可以返回乙個引用,方式與返回乙個指標類似。
當函式返回乙個引用時,則返回乙個指向返回值的隱式指標。這樣,函式就可以放在賦值語句的左邊。例如,請看下面這個簡單的程式:
例項
#include using namespace std;
double vals = ;
double& setvalues( int i )
// 要呼叫上面定義函式的主函式
int main ()
setvalues(1) = 20.23; // 改變第 2 個元素
setvalues(3) = 70.8; // 改變第 4 個元素
cout << "改變後的值" << endl;
for ( int i = 0; i < 5; i++ )
return 0;
}
當上面的**被編譯和執行時,它會產生下列結果:
改變前的值
vals[0] = 10.1
vals[1] = 12.6
vals[2] = 33.1
vals[3] = 24.1
vals[4] = 50
改變後的值
vals[0] = 10.1
vals[1] = 20.23
vals[2] = 33.1
vals[3] = 70.8
vals[4] = 50
當返回乙個引用時,要注意被引用的物件不能超出作用域。所以返回乙個對區域性變數的引用是不合法的,但是,可以返回乙個對靜態變數的引用。
```cpp
int& func()
C 把引用作為返回值
返回的引用是函式裡選擇的對應變數返回的引用,return vals i 是陣列的某個元素,然後即可進行賦值 setvalues 1 20.23 記得在定義函式名前加 用引用返回乙個函式值的最大好處是,在記憶體中不產生被返回值的副本。include using namespace std double...
引用作為返回值 多型
1 引用作為返回值,必須遵守以下規則 1 不能返回區域性變數的引用。這條可以參照effective c 1 的item 31。主要原因是區域性變數會在函式返回後被銷毀,因此被返回的引用就成為了 無所指 的引用,程式會進入未知狀態。2 不能返回函式內部new分配的記憶體的引用。這條可以參照effect...
C 引用作為函式的返回值
語法 型別 函式名 形參列表 特別注意 1.引用作為函式的返回值時,必須在定義函式時在函式名前將 2.用引用作函式的返回值的最大的好處是在記憶體中不產生返回值的副本 includeusing namespace std float temp float fn1 float r float fn2 f...