引用傳參和指標傳參的差別

2021-08-22 04:32:55 字數 636 閱讀 9307

在c++中,如果函式的實參的型別是資料型別比較大的資料型別,這是如果使用一般傳參就會有很大的不方便,這是如果能夠傳遞乙個位址或者是對原來引數的乙個引用對提高效能會有很大的幫助。

本文研究一下引用傳參和指標傳參的區別和聯絡。其實引用傳參和指標傳參都能夠在條用函式內部對源資料進行修改,這是它們的共同點,但是它們也是有區別的。下面是乙個例子:

#include using namespace std;

void swapbypoint(int* x,int* y); //指標傳參函式的宣告

void swapbyreference(int &x,int &y); //引用傳參函式的宣告

int main()

{ int x = 3;

int y = 5;

cout<<"轉化前: x="《指標傳參和引用傳參的效果是一樣的。

它們的差別個人認為:

ø 指標傳參傳遞的是一引數(這裡是int實參)的位址,這樣,雖然實參和形參不一樣,但是它們只想的位址是一樣的,所以對相同位址的數的操作會影響到原來的數。

ø 引用傳參傳遞的是乙個引數本身,但是在呼叫函式中,把儲存它們的位址的值做了交換。

兩種傳參方式的呼叫必須是上述這樣的,否則會報錯,在相應的**中有提示…..

指標陣列陣列傳參 指標引用傳參

指標和陣列作為引數傳入函式時,傳入的是位址,即指向變數的位址和陣列的首位址,可以在函式中改變指標或陣列的值,但本質上它們還是值的傳遞 區別於變數的值傳遞的是 變數值傳遞不會改變實參原來的值。我們無法對指標和陣列的位址進行操作 如 位址賦值,分配記憶體等 要進行位址操作需要使用指標引用或指標的指標。示...

python 函式傳參 傳參和傳引用

首先還是應該科普下函式引數傳遞機制,傳值和傳引用是什麼意思?函式引數傳遞機制問題在本質上是呼叫函式 過程 和被呼叫函式 過程 在呼叫發生時進行通訊的方法問題。基本的引數傳遞機制有兩種 值傳遞和引用傳遞。值傳遞 passl by value 過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在...

指標與引用傳參

1.常量指標 const int p a,指標的指向可以改,指標指向的值不可以改 2.指標常量 int const p a,指標的指向不可以改,指標指向的值可以改 3.const既修飾指標,又修飾常量 const int const p a 指標的指向和指標指向的值都不可以改 對於函式引數,例如寫乙...