相同點:
都能夠直接引用物件,並對物件進行操作.
不同點:
指標引用
指標型別的變數能夠儲存乙個物件的位址
引用是乙個物件的別名
可以為空nil,可以不初始化
不可以為空nil,必須初始化
當設計乙個變數用於指向另乙個物件,但是變數有可能為空,這時應該使用指標.
當設計乙個變數總是指向乙個物件,不允許為空,這時應該使用引用.
宣告指標可以不指向任何物件,因此使用指標之前,要做判空操作
不用做判空操作,因為它一定不為空!=nil
可以改變指向,從而指向其他物件
引用不可改變指向,它對乙個物件"致死不渝"
對指標的操作,會導致指標指向下個物件,而不是改變指向物件的內容.
對引用的操作直接反應到所指向的物件上.物件的內容改變了.
func new(type) *type
func make(t type,size ...integertype) type
指標傳遞本質:值傳遞,傳遞乙個位址值.形參為函式的區域性變數,實參傳遞給形參是乙個副本
引用傳遞本質:傳遞的是引用變數的位址
指標和引用的對比
指標與引用是c 中兩個很重要的概念,它們功能看過去很相似,就是都是間接引用某個物件,那麼我們應該在什麼時候使用指標,什麼時候使用引用呢,下面請允許我慢慢道來 int a 1 int p a int a 1 int b a 上面定義了乙個整形變數和乙個指標變數p,該指標變數指向a的儲存單元,即p的值是...
引用和指標的對比
引用和指標的對比 相同點 都是位址的概念 指標指向一塊記憶體,它的內容是所指記憶體的位址 而引用則是某塊記憶體的別名。不同點 指標是乙個實體,而引用僅是個別名 引用只能在定義時被初始化一次,之後不可變 指標可變 引用 從一而終 指標可以 見異思遷 引用沒有const 指標有const const 的...
指標和引用,const 指標和const 引用
指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...