每日一問1 指標和引用的區別

2022-06-14 03:36:08 字數 602 閱讀 9154

指標(pointer)和引用(references)都是對另乙個變數的一種關聯,即通過指標和引用可以使用另乙個變數。而它們最大的區別在於:指標是乙個變數,而引用不是。但在c++底層中,引用是通過指標實現的,所以,在實現層面上來說,引用就是指標,但是在c++語法上來說,c++編譯器並不為引用型別分配記憶體,所以引用不能為空,必須被初始化,一旦初始化不能更改引用物件。所有對引用的操作都是對原始物件的操作 。

指標是乙個變數,它所儲存的就是它所指向的變數的位址,而它同時也有著自己的位址。引用可以理解為變數的"小名」,它的位址也就是它引用的變數的位址。也可以說,指標指向一塊記憶體,它的內容是所指記憶體的位址;引用是某塊記憶體的別名。它們更細緻的區別總結如下:

後續查閱資料的過程中,發現了自己理解的錯誤,因為是學習的過程,所以不刪除錯誤,引以為戒。在上面提到引用不是乙個變數,這是錯誤的,引用是乙個變數,它在底層的實現就是乙個變數,乙個常量指標。c++對常量指標進行一些包裝後就成了引用。

2020-01-10

1 指標和引用的區別

1 什麼是指標?2 什麼是引用?引用 引用是乙個物件的別名,主要用於函式引數和返回值型別,符號x 表示x型別的引用。1 引用不可以為空,但指標可以為空。引用是物件的別名,引用為空 物件都不存在,怎麼可能有別名!所以定義乙個引用的時候,必須初始化。宣告指標是可以不指向任何物件,因此,使用指標之前必須做...

1 指標和引用的區別

性質上的區別 使用上的區別 引用必須要初始化且不能是null,而指標可以是null。且指標的值可以改變,引用不能改變 更像是const,常量指標的概念 有const指標,但沒有const引用 指標可以有多級 p 引用只有一級 sizeof引用 得到的是所指向的變數 物件 的大小,而 sizeof指標...

1 指標與引用的區別

指標 指標是位址傳遞,但其本質上是值傳遞,通常實參傳給形參時,被調函式的形參作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。所以進行指標傳遞時,作為實參的指標本身所存的位址值是不會變的,但指標所指位址中的內容則會根據函式的不同操作而改...