指標 和 引用 大對比

2022-07-11 20:00:18 字數 725 閱讀 1540

相同點:

都能夠直接引用物件,並對物件進行操作.

不同點:

指標引用

指標型別的變數能夠儲存乙個物件的位址

引用是乙個物件的別名

可以為空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 在一起,而不是將初始值拷貝給引...