找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2612|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[C++]筆記二十一:引用的基礎(chǔ)知識

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:244281 發(fā)表于 2018-3-8 22:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
引用的基礎(chǔ)知識
引入
變量名,實際上是一段連續(xù)存儲空間的別名,是一個標號(門牌號。
程序中通過變量來申請并命名內(nèi)存空間,通過變量的名字可以使用存儲空間。
問題:對一段連續(xù)的內(nèi)存空間只能取一個別名嗎?
第一,引用的概念
1C++中新增加了引用的概念;
2)引用可以看作一個已定義變量的別名
3)引用的語法:Type& name = var;
4)引用做函數(shù)參數(shù)(引用作為函數(shù)參數(shù)聲明不進行初始化
比如,有這么一個人,我們稱作“姥姥”,也有人稱呼是“外婆”,有人問你你姥姥是誰?或者問你你外婆是誰?我們知道這兩個稱呼指的是同一個人,你媽給了你姥姥一千塊錢,你姥姥多了一千塊錢,那么你外婆也就多了一千塊錢,外婆又給了你五百塊壓歲錢,那你姥姥也就是少了五百塊錢。姥姥 == 外婆,通過修改外婆持有的資產(chǎn)數(shù)額,就修改了姥姥持有的資產(chǎn)數(shù)額
運行以下程序,變量a的別名定義為b,我們修改a值就修改了b的值,修改b的值就修改了a的值
第二,通過引用交換兩個變量的值
我們知道這個程序是無法實現(xiàn)交換兩個數(shù)值的,如果想交換兩個數(shù)值,按照以前的辦法就是使用指針這里不多說。
我們學習了引用之后可以通過引用來實現(xiàn)交換兩個變量的值。
如下程序,x、y是實參,a、b是形參,將實參x、y賦值給形參a、b,a、b就是x、和y的別名,改a、b就是把x、y的數(shù)值改了
最后說明一點:引用作為函數(shù)參數(shù)聲明不進行初始化。
注意:在程序時,最初定義的函數(shù)是swap,調(diào)用函數(shù)時發(fā)現(xiàn)swap(x,y)swap(&x,&y)都可以編譯運行成功,匪夷所思!
原來C++自己有一個swap函數(shù),因為我將我寫的swap函數(shù)定義屏蔽后,發(fā)現(xiàn)依舊可以調(diào)用該函數(shù)!因此后來改為myswap函數(shù)。
【C++】筆記系列均為原創(chuàng),轉(zhuǎn)載請注明轉(zhuǎn)自微號:Lightspeed-Tech  或  AutoCode
更多精彩資料,請關(guān)注!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表