c++將援用或許是指針作為函數參數完成實參的運算。本站提示廣大學習愛好者:(c++將援用或許是指針作為函數參數完成實參的運算)文章只能為提供參考,不一定能成為您想要的結果。以下是c++將援用或許是指針作為函數參數完成實參的運算正文
C++增長援用類型, 重要是把它作為函數參數,以擴大函數傳遞數據的功效,較指針參數來得加倍平安直不雅。將援用作為參數傳遞的時刻,實參初始化形參的時刻不分派內存空間,也不挪用拷貝結構函數,是以加倍可以或許進步運算的機能。所以我們應當盡量地應用援用,而非指針,然則應當要留意,由於部分變量具有本身長久的性命周期,是以不克不及夠前往對一個部分變量的援用。
援用平日是在被界說的時刻被初始化,然則當它作為參數的時刻,則是在被挪用的時刻被初始化。這時候候對援用所做的轉變就是對被援用的變量所做的轉變。
援用對變量的拜訪是直接拜訪,指針則是直接拜訪,指針有本身自力的地址和內存空間,援用則是變量的別號沒有自力的內存空間。
傳遞變量的指針
//形參是指針變量,實參是一個變量的地址,挪用函數時,形參(指針變量)指向實參變量單位。
//函數經由過程應用指針變量作形參的時刻,可以或許完成兩個指針變量所指向的值的交換。
#include <iostream>
using namespace std;
int main( )
{ void swap(int *,int *);
int i=3,j=5;
swap(&i,&j); //實參是變量的地址
cout<<i<<" "<<j<<endl; //i和j的值已交換
return 0;
}
void swap(int *p1,int *p2) //形參是指針變量
{ int temp;
temp=*p1; //以下3行用來完成i和j的值交換
*p1=*p2;
*p2=temp;
}
應用“援用形參”完成兩個變量的值交換
#include <iostream>
using namespace std;
int main( )
{ void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a,int &b) //形參是援用類型,在函數被挪用的時刻,援用被初始化
{ int temp;
temp=a;
a=b;
b=temp;
}
//輸入成果為
// i=5 j=3