C 函式返回物件為引用

2021-10-09 17:38:35 字數 558 閱讀 1670

當返回型別為引用時,我們可以用引用來接受,也可以用普通變數來接受。

返回型別為普通型別時,例如int,被調函式結束的時候,會生成乙個臨時物件,然後return的內容拷貝給這個臨時物件。

但返回型別為引用時,不會生成臨時物件。會直接返回物件。

>

(id)

;//正確

>

(id)

;//錯誤,但是不會報錯

sw.setscore

(stof

(score));

//第一種才能真的改變原來的物件

(const std::string &studentid)

throw

"no matching student!"

;}

參考:返回引用型別&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-3-102148773&spm=1018.2118.3001.4187

C 返回物件和返回引用

最大的區別在於,返回物件的話會在記憶體中根據返回的型別開闢一塊區域,用返回的值對該記憶體進行初始化,如果是返回的物件,利用拷貝構造來初始化這個區域,但是這塊區域並沒有名字,就是說之後使用者沒辦法訪問到這個區域,也成為無名變數,它只能在接下來的 中進行一次性的用途,要不作為引數傳遞,或者將值列印,再之...

C 返回物件和返回引用

我們發現,在c 中,有些成員函式返回的是物件,而有些函式返回的又是引用。返回物件和返回引用的最主要的區別就是函式原型和函式頭。car run const car 返回物件 car run const car 返回引用 返回物件會涉及到生成返回物件的副本。因此,返回物件的時間成本包括了呼叫複製建構函式...

c 函式返回引用

1 什麼是引用?引用就是變數的別名,操作乙個變數的引用也就相當於操作變數本身,這一點跟指標很類似,但是操作引用不用像操作指標一樣,利用取位址符號,很不方便。而操作引用的話,則跟操作普通變數一樣,所以c 之中更加鼓勵使用引用。2 c 函式為什麼要使用引用?c語言之中大量利用指標作為形參或者函式返回值,...