1. 程式人生 > 其它 >指標和引用的區別

指標和引用的區別

概述

1. 指標是一個獨立的變數,擁有獨立的地址int a = 10; int * b = &a;此時指標b的地址和所指物件的地址是不同的,而且指標b中儲存的就是變數a的地址,而引用可以理解為和原來的變數就是同一個東西,int a = 10; int & b = a;此時對引用b和變數a取地址那麼這兩個地址值是相同的

2. 指標可以只宣告不初始化,後面在進行賦值操作,而引用必須初始化話,而且從一而終,不能改變,而指標可以改變指向

3. 可以有多級指標如int **但不能有多級引用int &&這個不叫多級引用,這個叫做右值引用

4. 指標可以指向空值,而沒有指向空值的引用

5. 使用sizeof運算子結果就是一個指標的大小也就是4或8個位元組,但是對一個引用使用sizeof計算的引用所指變數的大小

6. 對指標進行賦值操作只會修改指標的指向,而不會修改所指物件的值,需要進行該引用操作*b = 20;才能修改所指物件的值,而不改變指標的指向,而對一個引用賦值,則會直接修改引用所引變數的值