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