指標和引用的相同點和不同點

2021-09-26 15:32:10 字數 590 閱讀 9236

一、指標

下面這個超連結是之前寫的關於指標的詳解

指標詳解

二、引用

引用就是某一變數(目標)的乙個別名,對引用的操作與對變數直接操作完全一樣。簡單點說就是宣告乙個識別符號為引用,就表示該識別符號是另乙個物件的外號。

三、引用和指標的相同點

1、指標和引用都可以優化傳參效率

2、都是位址的概念;指標指向一塊記憶體,它的內容是所指記憶體的位址;引用是某塊記憶體的別名。

3、指標和引用都佔記憶體空間

四、引用和指標的不相同點

1、指標可以為空,但是引用不能為空

2、指標可以不初始化,但是引用必須初始化

3、指標可以有多級,但是引用只能是一級(int **p合法但是int &&a是不合法的)

4、指標的值在初始化後可以改變,即指向其它的儲存單元,而引用在進行初始化後就不會再改變了,從一而終。

5、指標是一種變數,而引用只是引用。

關於引用佔不佔記憶體空間:從我們使用的角度看,引用會讓我們誤會它只是乙個別名,沒有自己的儲存空間。這是c++為了使用性而做出的細節隱藏。實際上,c++編譯器在編譯的過程中使用常指標作為引用的內部實現,因此引用所占用的空間大小與指標相同。

指標和引用的相同點和不同點

相同點 都是位址的概念 指標指向一塊記憶體,它的內容是所指記憶體的位址 而引用則是某塊記憶體的別名。不同點 指標是乙個實體,而引用僅是個別名 引用只能在定義時被初始化一次,之後不可變 指標可變 引用 從一而終 指標可以 見異思遷 引用沒有const,指標有const,const的指標不可變 引用不能...

c 指標和引用的區別(相同點和不同點)

引用 別名 一定要初始化 int c error 引用 不能引用 不可以取位址的資料 如常量 引用不能改變 引用只能使用 引用變數 所引用的資料 底層使用指標支援,在所有變數使用的地方系統會自動解引用 int a 10 int b a b c 錯誤,引用不能改變int a 10 錯誤,引用型別的初始...

kmeans和knn相同點和不同點

kmeans和knn相同點和不同點 一 k最近鄰 knn,k nearestneighbor 分類演算法,找到最近的k個鄰居 樣本 在前k個樣本中選擇頻率最高的類別作為 類別。步驟 1 算距離 給定測試物件,計算它與訓練集中的每個物件的距離 2 找鄰居 圈定距離最近的k個訓練物件,作為測試物件的近鄰...