溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

引用和指針的區(qū)別是什么

發(fā)布時間:2020-07-20 14:26:22 來源:億速云 閱讀:172 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘P引用和指針的區(qū)別是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

引用和指針的區(qū)別是:1、程序為指針變量分配內(nèi)存區(qū)域,而不為引用分配內(nèi)存區(qū)域;2、引用在定義時初始化,之后無法改變,指針可以發(fā)生改變;3、指針在使用時需要加“*”,引用可以直接使用。

首先指針和引用都是地址的概念,指針指向一塊內(nèi)存,它的內(nèi)容是所指內(nèi)存的地址;引用是某塊內(nèi)存的別名。

詳細介紹:

程序為指針變量分配內(nèi)存區(qū)域,而不為引用分配內(nèi)存區(qū)域。

指針使用時要在前加 * ,引用可以直接使用。

引用在定義時就被初始化,之后無法改變;指針可以發(fā)生改變, 即引用的對象不能改變,指針的對象可以改變。

沒有空引用,但有空指針。這使得使用引用的代碼效率比使用指針的更高。因為在使用引用之前不需要測試它的合法性。相反,指針則應該總是被測試,防止其為空。

對引用使用“sizeof”得到的是變量的大小,對指針使用“sizeof”得到的是變量的地址的大小。

理論上指針的級數(shù)沒有限制,但引用只有一級。即不存在引用的引用,但可以有指針的指針。

int **p //合法
int &&p //非法

++引用與++指針的效果不一樣。

例如就++操作而言,對引用的操作直接反應到所指向的對象,而不是改變指向;而對指針的操作,會使指針指向下一個對象,而不是改變所指對象的內(nèi)容。

上述就是小編為大家分享的引用和指針的區(qū)別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI