將「引用」作為函式引數有哪些特點?

2022-07-14 09:54:13 字數 404 閱讀 9942

(1)傳遞引用給函式與傳遞指標的效果是一樣的。這時,被調函式的形參就成為原來主調函式中的實參變數或物件的乙個別名來使用,所以在被調函式中對形參變數的操作就是對其相應的目標物件(在主調函式中)的操作。

(2)使用引用傳遞函式的引數,在記憶體中並沒有產生實參的副本,它是直接對實參操作;而使用一般變數傳遞函式的引數,當發生函式呼叫時,需要給形參分配儲存單元,形參變數是實參變數的副本;如果傳遞的是物件,還將呼叫拷貝建構函式。因此,當引數傳遞的資料較大時,用引用比用一般變數傳遞引數的效率和所佔空間都好。

(3)使用指標作為函式的引數雖然也能達到與使用引用的效果,但是,在被調函式中同樣要給形參分配儲存單元,且需要重複使用"*指標變數名"的形式進行運算,這很容易產生錯誤且程式的閱讀性較差;另一方面,在主調函式的呼叫點處,必須用變數的位址作為實參。而引用更容易使用,更清晰。

將引用作為函式引數

1 void swapr int a,int b 這裡的temp是已經定義的變數,也就是我們說的引用,在上面的函式中,首先定義了乙個函式,上面先定義,再按值傳遞,但是c 中是不可以的。只有指標傳遞,引用傳遞。指標傳遞 viod swapv int p,int q 引用傳遞 void swapr in...

將引用作為函式引數

1 void swapr int a,int b 這裡的temp是已經定義的變數,也就是我們說的引用,在上面的函式中,首先定義了乙個函式,上面先定義,再按值傳遞,但是c 中是不可以的。只有指標傳遞,引用傳遞。指標傳遞 viod swapv int p,int q 引用傳遞 void swapr in...

C 引用作為函式引數

有了變數名,為什麼還需要乙個別名呢?c 之所以增加引用型別,主要是把它作為函式引數,以擴充函式傳遞資料的功能。到目前為止我們介紹過函式引數傳遞的兩種情況。1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的。如果在執行函式期間形參的值發生變化,並不傳回給實參。因為在呼叫函式時,形參和實...