- C++語(yǔ)言程序設(shè)計(jì)
- 千鋒教育高教產(chǎn)品研發(fā)部編著
- 685字
- 2019-07-30 17:37:45
2.5 引用
在變量中,不同于C語(yǔ)言的是引用型變量。引用就是給一個(gè)變量起個(gè)別名,兩個(gè)名字對(duì)應(yīng)同一個(gè)地址,這使得變量與它的引用總是具有相同的值。簡(jiǎn)單理解引用,它就好比一個(gè)人有大名與小名之分,但都指同一個(gè)人。引用型變量的定義格式如下:
數(shù)據(jù)類型名 &引用變量名=被引用變量名;
在定義引用時(shí),需要注意以下幾點(diǎn):
- 在以上定義格式中,“&”不是取地址符,而是引用運(yùn)算符,只在定義一個(gè)引用的時(shí)候使用,引用被定義以后就像普通變量一樣,使用時(shí)無(wú)須再用“&”符號(hào)。
- 引用變量名為一個(gè)合法的用戶自定義標(biāo)識(shí)符。
- 在定義一個(gè)引用時(shí),如果不是作為函數(shù)的參數(shù)或返回值,就必須對(duì)它進(jìn)行初始化,以明確該引用是哪一個(gè)變量的別名,以后在程序中不可以改變這種別名關(guān)系。
- 因?yàn)橐米兞渴悄硞€(gè)變量的別名,所以系統(tǒng)并不為引用變量另外分配內(nèi)存空間,它與所代表的變量名占用同一段內(nèi)存空間。
- 不是任何類型的數(shù)據(jù)都有引用,如不能建立void類型引用。
接下來(lái)演示引用型變量的定義與使用,如例2-11所示。
例2-11

運(yùn)行結(jié)果如圖2.22所示。

圖2.22 例2-11運(yùn)行結(jié)果
在例2-11中,第6行表示b是a的引用變量,a是b的被引用變量,a與b共用同一塊內(nèi)存,因此b的值也是2。第8行通過引用變量b修改a對(duì)應(yīng)的內(nèi)存值為3,從第9行輸出結(jié)果可以看出,a和b的值都變?yōu)?。第10行中通過取地址運(yùn)算符&來(lái)輸出a和b的地址,a和b代表同一塊內(nèi)存地址。從本例中可以看出,無(wú)論程序中改變了變量值還是其引用變量值,變量與它的引用總是具有相同的值。但在一個(gè)程序中,通過引用變量引用一個(gè)普通變量,顯然是沒必要的,這樣會(huì)降低程序的可讀性。實(shí)際上,引用主要用作函數(shù)參數(shù)以及作為函數(shù)的返回值,它在程序中發(fā)揮著靈活的作用。
推薦閱讀
- TestNG Beginner's Guide
- 信息安全技術(shù)
- Instant QlikView 11 Application Development
- C語(yǔ)言程序設(shè)計(jì)
- Haskell Data Analysis Cookbook
- Python從入門到精通
- 移動(dòng)增值應(yīng)用開發(fā)技術(shù)導(dǎo)論
- 零基礎(chǔ)學(xué)C語(yǔ)言程序設(shè)計(jì)
- Instant Debian:Build a Web Server
- Python數(shù)據(jù)可視化之美:專業(yè)圖表繪制指南(全彩)
- Learning Ionic
- Emotional Intelligence for IT Professionals
- Getting Started with JUCE
- 你好!Java
- Neo4j High Performance