C 關於函式返回物件型別的說明

2021-08-20 10:06:32 字數 379 閱讀 8115

1. 返回const物件的引用:返回引用不會呼叫複製建構函式,效率更高;引用指向的物件應在呼叫函式執行時存在,不能是函式中的區域性變數;當引數都為const,函式返回其一的時候,必須也為const;

2. 非const物件的引用:

兩種常見情況:過載賦值運算子:使其可以連續賦值(s1=s2=s3);

過載<<:使其可以串接輸出(cout<

3. 返回物件:返回的物件是被呼叫函式中的區域性變數,例如被過載的算術運算子。

vector vector::operator+(const vector &b) const 依次呼叫建構函式建立物件,以及return呼叫複製建構函式建立乙個呼叫程式能訪問的物件。

4. 返回const物件:使得返回的物件不能再被賦值修改

c 函式的返回型別

return的返回值型別必須與函式的返回值型別相同。不過需要注意的是我們很有 可能忘掉return,看下面的 includeusing namespace std int pr int a,int b 判斷兩數是否相等 void main 返回乙個值的方式和初始化乙個變數的方式完全一樣,返回的值用於...

關於函式的返回值與返回型別

返回型別只是決定分一塊什麼型別的記憶體來儲存該返回值。返回值不管是不是外部傳入還是內部定義,只要不是返回引用,在函式執行到 時會拷貝生成乙份匿名物件到外部函式棧。同樣的,形參只要不是引用型別,傳入引數也會執行一次拷貝,該拷貝從外部函式棧,拷貝到被呼叫函式棧。vs編譯器會做一些優化,減少拷貝次數。直接...

C 總結 關於函式返回物件析構的問題

class person person int main 就是下面這個函式返回的是乙個引用 因為返回是引用並且這個物件是外部定義的,所以返回引用沒有任何問題 person person changename 下面這個返回引用就會出問題 person person changename 問題在於,函式...