C 返回引用型別

2021-09-01 19:19:54 字數 523 閱讀 5215

c++返回引用型別

a& a() 就生成了乙個固定位址的指標,並把指標帶給你

但a a() 會生成乙個臨時物件變數,並把這個臨時變數給你

這樣就多了一步操作

當返回乙個變數時,會產生拷貝。當返回乙個引用時,不會發生拷貝,你可以將引用看作是乙個變數的別名,就是其他的名字,引用和被引用的變數其實是乙個東西,只是有了兩個名字而已。

問題的關鍵是,當你想要返回乙個引用而不是乙個拷貝時,你要確保這個引用的有效性,比如:

int & fun()

這樣是不行的,因為a會在fun退出時被銷毀,這時返回的a的引用是無效的。

這種情況下,如果fun的返回型別不是int & 而是int就沒有問題了。

指標的引用

getnearestfontintwips(cfont *&afont, const tfontspec &afontspec);

第乙個引數afont是乙個指標, 前面加上*&表示指標的引用, 其實可以如下看待這個方式(cfont*) &afont, 這就一目了然了.

C 函式返回非引用型別與返回引用型別

函式的返回過程和引數傳遞過程是相對稱的兩個的過程。引數傳遞從呼叫函式向被呼叫函式傳遞,返回值從被呼叫函式向呼叫函式返回。有與傳遞方式的區別 拷貝副本與傳遞本身 函式形參可以分為引用形參和非引用形參 類似的,函式返回值也可以分為非引用型別返回值和引用型別返回值,二者的差異和引用形參和非引用形參型別。當...

C 返回引用型別(一)

ex1 include using namespace std const string shorterstring const string str1,const string str2 int main 注 1.return str1.size str2.size str1 str2 到底返回了...

C 返回引用型別 指標的引用

c 返回引用型別a a 就生成了乙個固定位址的指標,並把指標帶給你 但a a 會生成乙個臨時物件變數,並把這個臨時變數給你 這樣就多了一步操作 當返回乙個變數時,會產生拷貝。當返回乙個引用時,不會發生拷貝,你可以將引用看作是乙個變數的別名,就是其他的名字,引用和被引用的變數其實是乙個東西,只是有了兩...