C++中的引用&與取址&是很多初學者經常容易出錯的地方,今天本文就對此加以分析總結,供大家參考之用。
具體而言,一個是用來傳值的 一個是用來獲取首地址的
&(引用)==>出現在變量聲明語句中位于變量左邊時,表示聲明的是引用.
例如:
int &rf; // 聲明一個int型的引用rf
&(取地址運算符)==>在給變量賦初值時出現在等號右邊或在執行語句中作為一元運算符出現時表示取對象的地址.
在C++中,既有引用又有取地址,好多人對引用和取地址不是很清楚,因此也無法區分。其實他們的區別可以用一句話概括:和類型在一起的是引用,和變量在一起的是取址。下面我們通過實例具體了解一下
1)引用在賦值=的左邊,而取地址在賦值的右邊,比如:
int a=3;int &b=a; //引用int *p=&a; //取地址
2)和類型在一起的是引用,和變量在一起的是取址。 舉例同樣如上,還有下例:
int function(int &i){ } //引用
3)對于vector,上面2條同樣適合
vector<int> vec1(10,1); //initialize vec1: 10 elements, every element's value is 1vector<int> &vec2 = vec1; // vec2 is reference to vec1vector<int> *vec3 = &vec2; //vec3 is addresss of vec1 and vec2
希望本文所述對大家C++程序設計的學習能夠有所幫助。
新聞熱點
疑難解答
圖片精選