指標和引用的區別
阿新 • • 發佈:2022-03-30
概述
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;
才能修改所指物件的值,而不改變指標的指向,而對一個引用賦值,則會直接修改引用所引變數的值