亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++中引用傳遞與指針傳遞的區別(面試常見)

2020-05-23 13:34:33
字體:
來源:轉載
供稿:網友

最近Garena面試的過程中,面試官提了一個問題,C++中引用傳遞和指針傳遞的區別?

根據自己的經驗,聯想到了swap函數,只知道既可以用引用來實現,又可以用指針傳遞來實現,至于二者有何區別,自己還真沒有考慮過。

痛定思痛,受虐之后,趕緊彌補自己的知識漏洞。

通過在網上搜集資料,自己也整理了一下。

精簡版:

指針:變量,獨立,可變,可空,替身,無類型檢查;

引用:別名,依賴,不變,非空,本體,有類型檢查;

完整版:

1. 概念

  指針從本質上講是一個變量,變量的值是另一個變量的地址,指針在邏輯上是獨立的,它可以被改變的,包括指針變量的值(所指向的地址)和指針變量的值對應的內存中的數據(所指向地址中所存放的數據)。

  引用從本質上講是一個別名,是另一個變量的同義詞,它在邏輯上不是獨立的,它的存在具有依附性,所以引用必須在一開始就被初始化(先有這個變量,這個實物,這個實物才能有別名),而且其引用的對象在其整個生命周期中不能被改變,即自始至終只能依附于同一個變量(初始化的時候代表的是誰的別名,就一直是誰的別名,不能變)。

2. C++中的指針參數傳遞和引用參數傳遞

  指針參數傳遞本質上是值傳遞,它所傳遞的是一個地址值。值傳遞過程中,被調函數的形式參數作為被調函數的局部變量處理,會在棧中開辟內存空間以存放由主調函數傳遞進來的實參值,從而形成了實參的一個副本(替身)。值傳遞的特點是,被調函數對形式參數的任何操作都是作為局部變量進行的,不會影響主調函數的實參變量的值(形參指針變了,實參指針不會變)。

  引用參數傳遞過程中,被調函數的形式參數也作為局部變量在棧中開辟了內存空間,但是這時存放的是由主調函數放進來的實參變量的地址。被調函數對形參(本體)的任何操作都被處理成間接尋址,即通過棧中存放的地址訪問主調函數中的實參變量(根據別名找到主調函數中的本體)。因此,被調函數對形參的任何操作都會影響主調函數中的實參變量。

  引用傳遞和指針傳遞是不同的,雖然他們都是在被調函數??臻g上的一個局部變量,但是任何對于引用參數的處理都會通過一個間接尋址的方式操作到主調函數中的相關變量。而對于指針傳遞的參數,如果改變被調函數中的指針地址,它將應用不到主調函數的相關變量。如果想通過指針參數傳遞來改變主調函數中的相關變量(地址),那就得使用指向指針的指針或者指針引用。

  從編譯的角度來講,程序在編譯時分別將指針和引用添加到符號表上,符號表中記錄的是變量名及變量所對應地址。指針變量在符號表上對應的地址值為指針變量的地址值,而引用在符號表上對應的地址值為引用對象的地址值(與實參名字不同,地址相同)。符號表生成之后就不會再改,因此指針可以改變其指向的對象(指針變量中的值可以改),而引用對象則不能修改。

3. 總結

相同點:

  都是地址的概念

不同點:

  指針是一個實體(替身);引用只是一個別名(本體的另一個名字)

  引用只能在定義時被初始化一次,之后不可改變,即“從一而終”;指針可以修改,即“見異思遷”;

  引用不能為空(有本體,才有別名);指針可以為空;

  sizeof 引用,得到的是所指向變量的大??;sizeof 指針,得到的是指針的大??;

  指針 ++,是指指針的地址自增;引用++是指所指變量自增;

  引用是類型安全的,引用過程會進行類型檢查;指針不會進行安全檢查;

補充:C語言的引用傳遞方法

#include#includeint main(int argc, const char * argv[]){double pi = 3.14;double intgerPart;double fractionPart;fractionPart = modf(pi, &intgerPart);printf("Pi's Interger Part is %.0f, and Pi's fraction part is %.2f /n", intgerPart, fractionPart);return 0;}Result:Pi's Interger Part is 3, and Pi's fraction part is 0.14Program ended with exit code: 0

總結

以上所述是小編給大家介紹的C++中引用傳遞與指針傳遞的區別(面試常見),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区视频在线观看| 狠狠久久五月精品中文字幕| 亚洲人免费视频| 成人免费大片黄在线播放| 亚洲欧美中文字幕在线一区| 国产精品日本精品| 国产在线观看一区二区三区| 亚洲精品成人久久久| 国产精品亚洲аv天堂网| 久久精品亚洲94久久精品| 国产美女91呻吟求| 亚洲第一精品电影| 中文精品99久久国产香蕉| 欧美日韩成人网| 日韩有码在线播放| 欧美性jizz18性欧美| 欧美成人午夜影院| 隔壁老王国产在线精品| 黑人精品xxx一区| 日韩电影中文字幕在线| 7777kkkk成人观看| 日韩中文综合网| 国产精品r级在线| 国产精品pans私拍| 成人久久久久久| 国产国语刺激对白av不卡| 久久免费在线观看| 97超级碰碰碰久久久| 国外成人性视频| 91国自产精品中文字幕亚洲| 精品亚洲va在线va天堂资源站| 亚洲欧美激情另类校园| 大胆欧美人体视频| 久久手机精品视频| 亚洲精品久久久久久久久久久久| 亚洲精品资源在线| 久久中文字幕在线视频| 成人在线中文字幕| 欧美激情一区二区三区在线视频观看| 日韩免费电影在线观看| 午夜精品久久久久久久男人的天堂| 亚洲一区亚洲二区| 久久精品国产亚洲精品| 亚洲第一男人天堂| 日韩精品999| 国产成人精品午夜| 欧美亚洲在线播放| 国产欧美日韩免费看aⅴ视频| 欧美激情亚洲综合一区| 不卡在线观看电视剧完整版| 在线成人激情黄色| 久久人人爽人人爽人人片av高清| 成人免费在线网址| 久久久久久久久久久av| 亚洲xxx大片| 国产一区二区三区网站| 亚洲最新视频在线| 正在播放欧美视频| 亚洲综合自拍一区| 插插插亚洲综合网| 国产精品96久久久久久| 97精品国产97久久久久久免费| 亚洲国模精品私拍| 日韩在线视频线视频免费网站| 欧美富婆性猛交| 欧美国产激情18| 久久精品成人一区二区三区| 在线播放日韩av| 欧美中文在线观看| 成人精品视频99在线观看免费| 亚洲级视频在线观看免费1级| 亚洲天堂av网| 久久伊人91精品综合网站| 91香蕉亚洲精品| 国产亚洲美女精品久久久| 91精品免费看| 亚洲黄色www网站| 免费99精品国产自在在线| 国产精品入口福利| 日韩电视剧在线观看免费网站| 欧美性猛交xxxx黑人猛交| 亚洲国语精品自产拍在线观看| 欧美日韩精品在线播放| 日韩在线视频免费观看高清中文| 日韩三级成人av网| 色噜噜国产精品视频一区二区| 国语自产精品视频在线看抢先版图片| 色婷婷综合久久久久| 日韩精品极品在线观看播放免费视频| 自拍亚洲一区欧美另类| 韩国三级电影久久久久久| 55夜色66夜色国产精品视频| 91精品视频在线免费观看| 亚洲国产精品人久久电影| 日韩一级裸体免费视频| 69久久夜色精品国产7777| 欧美亚洲一区在线| 国产精品视频区| 亚洲成av人影院在线观看| 亚洲乱码国产乱码精品精| 成人激情电影一区二区| 国产精品久久久久久av福利软件| 亚洲欧美在线一区二区| 亚洲va久久久噜噜噜久久天堂| 日本高清+成人网在线观看| 亚洲大胆人体在线| 欧美激情欧美狂野欧美精品| 欧美精品少妇videofree| 亚洲欧美国产va在线影院| 丁香五六月婷婷久久激情| 亚洲精品欧美日韩专区| 国产成人精品av| 久久大大胆人体| 久久中国妇女中文字幕| 午夜精品久久久久久久白皮肤| 亚洲精品国产品国语在线| 欧美一级电影在线| 欧美肥老太性生活视频| 亚洲欧美日韩中文在线制服| 一区二区三区视频免费在线观看| 91情侣偷在线精品国产| 久久九九免费视频| 国产欧美日韩最新| 欧美精品手机在线| 欧美又大又硬又粗bbbbb| 中文字幕精品久久久久| 国产精品一区二区av影院萌芽| 136fldh精品导航福利| 亚洲性视频网站| 91精品视频专区| 69影院欧美专区视频| 中文字幕一区二区三区电影| 国产精品美女在线| 亚洲一级免费视频| 欧美成人免费大片| 亚洲精品资源美女情侣酒店| 亚洲男女性事视频| 亚洲精品永久免费| 亚洲精品狠狠操| 久久国产精品久久久久久| 日韩av影视综合网| 国产精品入口免费视| 久久久久中文字幕| 色播久久人人爽人人爽人人片视av| 欧美一区二区三区精品电影| 91国产一区在线| 久久精品在线视频| 91免费福利视频| 久久中文精品视频| 久久久久国色av免费观看性色| 日韩免费av一区二区| 亚洲第一色中文字幕| 奇米4444一区二区三区| 亚洲桃花岛网站| 欧美电影在线观看| 久久久999精品视频| 欧美限制级电影在线观看| 亚洲成人激情小说| 91久久国产精品| 国产精品日韩专区| 中文字幕亚洲欧美日韩在线不卡| 日韩欧美精品网站| 欧美极品少妇xxxxⅹ裸体艺术| 国产在线精品自拍|