一、概念
指針:指針是一個變量,只不過這個變量存儲的是一個地址,指向內(nèi)存的一個存儲單元。
引用:引用跟原來的變量實質(zhì)上是同一個東西,只不過是原變量的一個別名而已。
舉個例子:
引用的特性:
(1)引用在定義時必須初始化;
(2)一個變量可以有多個引用;
(3)引用一旦綁定了一個實體,就不能再改變?yōu)槠渌兞康囊谩?/p>
二、引用和指針的區(qū)別與聯(lián)系
1.相同點
2.不同點
(1)引用定義時必須初始化,指針可以不用初始化;
(2)引用一旦初始化為指向一個對象,就不能再指向其他對象,而指針可以在任何時候指向任何一個同類型的對象;
(3)沒有空引用,但是有空指針;
(4)在sizeof中的含義不同:引用結(jié)果為引用類型的大小,但指針始終是地址空間所占字節(jié)的個數(shù)(在32為平臺下,指針求sizeof永遠是4);
(5)引用++改變的是變量的內(nèi)容,指針++改變的是指針的指向;
(6)有多級指針,但沒有多級引用;
(7)引用使用起來比指針更安全;
(8)如果返回動態(tài)內(nèi)存分配的對象或者內(nèi)存,必須使用指針,引用可能引起內(nèi)存泄漏;
-
指針
+關(guān)注
關(guān)注
1文章
484瀏覽量
71179 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75245 -
引用
+關(guān)注
關(guān)注
0文章
8瀏覽量
7855
發(fā)布評論請先 登錄
C++中指針和引用的區(qū)別
C++程序設(shè)計教程之指針的詳細(xì)資料說明

C++中的const和引用的討論
指針和引用的區(qū)別及使用場景介紹
C++的引用和指針
C語言 / C++基礎(chǔ)面試知識大集合

評論