這篇文章主要講解了“C++的引用如何應(yīng)用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C++的引用如何應(yīng)用”吧!
創(chuàng)新互聯(lián)是專業(yè)的德陽網(wǎng)站建設(shè)公司,德陽接單;提供成都網(wǎng)站設(shè)計、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行德陽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
在C++中,引用就是一個變量的別名,它需要用另一個變量或?qū)ο髞沓跏蓟陨?。引用就像一個人的外號一樣,例如:有一個人,他的名字叫做張旭,因他在家排行老三,別人給他取了一個外號叫張三,這樣,我們叫張三或張旭,指的都是同一個人。下面的代碼聲明了一個引用b,并用變量a進行了初始化。
int a = 5; int &b = a; //用&表示申明一個引用。引用必須在申明時進行初始化
考慮下面代碼:
int a = 5; int &b = a; int c=3; //此處并不是將b變成c的引用,而是給b賦值,此時,b和a的值都變成了3
引用和用來初始化引用的變量指向的是同一塊內(nèi)存,因此通過引用或者變量可以改變同一塊內(nèi)存中的內(nèi)容。引用一旦初始化,它就代表了一塊特定的內(nèi)存,再也不能代表其他的內(nèi)存。
那么引用和指針變量有什么區(qū)別呢?
引用只是一個別名,是一個變量或?qū)ο蟮奶鎿Q名稱。引用的地址沒有任何意義,因此C++沒有提供訪問引用本身地址的方法。引用的地址就是它所引用的變量或者對象的地址,對引用的地址所做的操作就是對被引用的變量或?qū)ο蟮牡刂匪龅牟僮?。指針是地址,指針變量要存儲地址值,因此要占用存儲空間,我們可以隨時修改指針變量所保存的地址值,從而指向其他的內(nèi)存。
引用和指針變量的內(nèi)存模型如下圖所示:
在編寫程序時,很少直接使用引用,即用一個變量來初始化一個引用(int a; int &b=a),如果這么做,通過變量和引用都可以修改同一塊內(nèi)存的內(nèi)容,在程序中,就很容易出現(xiàn)問題,不知道此時內(nèi)存中的值到底是多少了。
引用多數(shù)用在函數(shù)的形參定義上,在調(diào)用函數(shù)傳參時,我們經(jīng)常使用指針傳遞,一是避免在實參占較大內(nèi)存時發(fā)生值的復(fù)制,二是完成一些特殊的作用,例如,要在函數(shù)中修改實參所指向內(nèi)存中的內(nèi)容。同樣,使用引用作為函數(shù)的形參也能完成指針的功能,在有些情況下還能達到比使用指針更好的效果。
下面,我們以一段程序的講解作為引用這一小節(jié)的結(jié)束。
例:
#include//change函數(shù)主要用來交換a和b的值 void change(int& a,int& b); void main() { int x=5; int y=3; cout<<"original x="< 感謝各位的閱讀,以上就是“C++的引用如何應(yīng)用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C++的引用如何應(yīng)用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
網(wǎng)頁名稱:C++的引用如何應(yīng)用
網(wǎng)站路徑:http://weahome.cn/article/gjssgc.html