C 返回引用型別(一)

2021-08-01 03:56:06 字數 585 閱讀 7459

//ex1

#include

using

namespace

std;

const

string &shorterstring(const

string &str1, const

string &str2)

int main()

注:

1.return str1.size() <= str2.size() ? str1 : str2; 到底返回了什麼?

答:返回的是s1與s2中較短者的引用;

2.此處函式的返回值型別為常量引用,那麼是否可以改為string& 非常量引用?

答:不可以,因為形參str1,str2已經決定了返回值型別必須為常量引用;

3.由上例可以,主函式中的s3為s2的引用,即s2的別名;那麼是否可以通過改變s3來達到改變s2的目的?

答:不可以,因為s3為常量引用,但可以能過如下改變實現:

string &shorterstring(string &str1, string &str2)

C 返回引用型別

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

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

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

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

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