溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++中引用與指針的區(qū)別是什么

發(fā)布時(shí)間:2020-06-01 21:30:56 來(lái)源:億速云 閱讀:353 作者:鴿子 欄目:編程語(yǔ)言

1、指針有自己的一塊空間,而引用只是一個(gè)別名;

2、指針可以被初始化為NULL,而引用必須被初始化且必須是一個(gè)已有對(duì)象的引用;

3、指針和引用使用++運(yùn)算符的意義不一樣。

指針

指針的特殊之處在于:指針變量相對(duì)應(yīng)的內(nèi)存空間存儲(chǔ)的值恰好是某個(gè)內(nèi)存地址。這也是指針變量區(qū)別去其他變量的特征之一。例如某個(gè)指針的定義如下:

int x = 5;
int *ptr = &x;

ptr即是一個(gè)指正變量名。通過(guò)指針獲取這個(gè)指針指向的內(nèi)存中的值稱為解引用。空指針是不能解引用的。

指針內(nèi)存空間的表示如下:

C++中引用與指針的區(qū)別是什么

引用

引用(reference)在C++中也是經(jīng)常被用到,尤其是在作為函數(shù)參數(shù)的時(shí)候,需要在函數(shù)內(nèi)部修改更新函數(shù)外部的值的時(shí)候。首先我們必須明確的一點(diǎn)就是:引用是一種特殊的指針。

引用是一個(gè)指向其它對(duì)象的常量指針,它保存著所指對(duì)象的存儲(chǔ)地址。并且使用的時(shí)候會(huì)自動(dòng)解引用,而不需要像使用指針一樣顯式提領(lǐng)。

例如引用的定義如下:

int x = 5;
int &y = x;

以上就是C++ 引用和指針區(qū)別的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!

向AI問(wèn)一下細(xì)節(jié)

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

AI