傳遞引用

 1 #include<iostream>
 2 using namespace std;  3 void do_(int a, int &b);  4 //a爲傳值調用
 5 int main()  6 {  7     int n1=1, n2=2;  8  do_(n1, n2);  9     cout << "n1=" << n1 << endl; 10     cout << "n2=" << n2 << endl; 11     system("pause"); 12 } 13 
14 void do_(int a, int &b) 15 { 16      a = 11; 17      b = 22; 18     cout << "a=" << a << endl << "b=" << b<<endl; 19 }

 

 

 

而關於值傳遞,指針傳遞,引用傳遞這幾個方面還會存在誤區, 全部我覺的有必要在這裏也說明一下~ios

下文會經過例子詳細說明哦函數

值傳遞:spa

形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被調用函數的角度來講,值傳遞是單向的(實參->形參),參數的值只能傳入,指針

不能傳出。當函數內部須要修改參數,而且不但願這個改變影響調用者時,採用值傳遞。code

指針傳遞:blog

形參爲指向實參地址的指針,當對形參的指向操做時,就至關於對實參自己進行的操做內存

引用傳遞:io

形參至關因而實參的「別名」,對形參的操做其實就是對實參的操做,在引用傳遞過程當中,被調函數的形式參數雖然也做爲局部變量在棧class

中開闢了內存空間,可是這時存放的是由主調函數放進來的實參變量的地址。被調函數對形參的任何操做都被處理成間接尋址,即經過stream

棧中存放的地址訪問主調函數中的實參變量。正由於如此,被調函數對形參作的任何操做都影響了主調函數中的實參變量。

相關文章
相關標籤/搜索