C++中引用&與取地址&的區(qū)別分析
C++中的引用&與取址&是很多初學(xué)者經(jīng)常容易出錯的地方,今天本文就對此加以分析總結(jié),供大家參考之用。
具體而言,一個是用來傳值的 一個是用來獲取首地址的
&(引用)==>出現(xiàn)在變量聲明語句中位于變量左邊時,表示聲明的是引用.
例如:
int &rf; // 聲明一個int型的引用rf
&(取地址運算符)==>在給變量賦初值時出現(xiàn)在等號右邊或在執(zhí)行語句中作為一元運算符出現(xiàn)時表示取對象的地址.
在C++中,既有引用又有取地址,好多人對引用和取地址不是很清楚,因此也無法區(qū)分。其實他們的區(qū)別可以用一句話概括:和類型在一起的是引用,和變量在一起的是取址。下面我們通過實例具體了解一下
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 1 vector<int> &vec2 = vec1; // vec2 is reference to vec1 vector<int> *vec3 = &vec2; //vec3 is addresss of vec1 and vec2
希望本文所述對大家C++程序設(shè)計的學(xué)習(xí)能夠有所幫助。
相關(guān)文章
C/C++細(xì)數(shù)宏與函數(shù)有那些區(qū)別
在C程序中,可以用宏代碼提高執(zhí)行效率。宏代碼本身不是函數(shù),但使用起來象函數(shù)。預(yù)處理器用復(fù)制宏代碼的方式代替函數(shù)調(diào)用,省去了參數(shù)壓棧、生成匯編語言的CALL調(diào)用、返回參數(shù)、執(zhí)行return等過程,從而提高了速度2022-10-10
C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼
這篇文章主要介紹了C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10

