C 引用作為函式的返回值

2021-10-19 12:30:05 字數 869 閱讀 5743

我們都清楚c++中引用的本質其實是乙個指標常量,引用的一些基本知識就不再贅述。這裡我們將引用作為函式的返回值來討論一下。

引用作為函式的返回值主要注意兩個點:1、函式內部不能返回區域性變數的引用;2、函式的呼叫可以作為左值存在。以下我們通過幾個案例來說明這兩個點。

案例一:函式內部不能返回區域性變數的引用。

#include using namespace std;

int& mytest1()

int& mytest2()

int main()

執行結果如下:

根據上圖的執行結果可知:當我們返回區域性變數的引用時,由於函式的區域性變數是在棧空間申請,函式執行完之後變數的空間就會被釋放,編譯器會保留一次值,第二次用會出錯。而靜態成員變數是在全域性區申請的,程式執行完才會釋放,所以引用可以返回被正常使用。

案例二:函式的呼叫可以作為左值存在。

#include using namespace std;

int& mytest()

int main()

執行結果如下:

根據上圖的執行結果可知:我們可以通過把函式作為左值來修改其返回值引用的值。

C 引用作為函式的返回值

語法 型別 函式名 形參列表 特別注意 1.引用作為函式的返回值時,必須在定義函式時在函式名前將 2.用引用作函式的返回值的最大的好處是在記憶體中不產生返回值的副本 includeusing namespace std float temp float fn1 float r float fn2 f...

「引用作為函式引數」與 「引用作為函式返回值」

一 引用作為函式引數 作為函式引數時引用有兩種原因 1 在函式內部會對此引數進行修改 2 提高函式呼叫和執行效率。關於第一點,都知道 c 裡提到函式就會提到形參和實參。如果函式的引數實質就是形參,不過這個形參的作用域只是在函式體內部,也就是說實參和形參是兩個不同的東西,要想形參代替實參,肯定有乙個值...

將引用作為函式返回值

要以引用返回函式值,則函式定義時必須遵循以下格式 型別識別符號 函式名 形參列表及型別說明 可見,以引用返回函式值,定義函式時需要在函式名前加 引用作為函式的返回值時,函式的返回值可以理解為函式返回了乙個變數 事實上,函式返回引用時,它返回的是乙個指向返回值的隱式指標 因此,值為引用的函式可以用作賦...