一、概念
指針:指針是一個變量,只不過這個變量存儲的是一個地址,指向內存的一個存儲單元。
引用:引用跟原來的變量實質上是同一個東西,只不過是原變量的一個別名而已。
舉個例子:
引用的特性:
(1)引用在定義時必須初始化;
(2)一個變量可以有多個引用;
(3)引用一旦綁定了一個實體,就不能再改變為其它變量的引用。
二、引用和指針的區別與聯系
1.相同點
2.不同點
(1)引用定義時必須初始化,指針可以不用初始化;
(2)引用一旦初始化為指向一個對象,就不能再指向其他對象,而指針可以在任何時候指向任何一個同類型的對象;
(3)沒有空引用,但是有空指針;
(4)在sizeof中的含義不同:引用結果為引用類型的大小,但指針始終是地址空間所占字節的個數(在32為平臺下,指針求sizeof永遠是4);
(5)引用++改變的是變量的內容,指針++改變的是指針的指向;
(6)有多級指針,但沒有多級引用;
(7)引用使用起來比指針更安全;
(8)如果返回動態內存分配的對象或者內存,必須使用指針,引用可能引起內存泄漏;
-
指針
+關注
關注
1文章
481瀏覽量
70595 -
C++
+關注
關注
22文章
2114瀏覽量
73792 -
引用
+關注
關注
0文章
8瀏覽量
7752
發布評論請先 登錄
相關推薦
評論