1. 程式人生 > 其它 >關於C++中指標和引用的理解

關於C++中指標和引用的理解

指標

眾所周知,資料型別其實只對人有意義,資料在機器裡儲存,就是連續的0和1,機器本身不會區分所謂的資料型別。

而程式語言裡資料型別的意義,就是如何用0和1來表示不同的資料型別,以及如何把不同資料型別的運算轉換成0和1的運算。

所以對任何一種具有資料型別的變數來說,其本質就是變數長度加運算規則。

而指標,其長度,由編譯器和系統決定。

至於運算規則,最難的無非就是指標的加減和取地址、訪問指標。

  • 指標加減:指標的加減其實很容易理解,就是指標加減指標型別對應的資料型別的長度,比如int型指標就是指標加減int型的長度。
  • 取地址:準確的來說,叫做取指標,就是返回一個指標變數,這個指標變數的型別由被取的變數決定,比如整數型變數取指標,就是整數型指標,整數型指標變數取指標,就是整數型指標變數的指標
  • 訪問指標:就是根據指標所指向的地址,返回一個變數,這個變數的型別和指標型別對應,如訪問整數型指標變數返回的就是整數型變數,訪問整數型指標的指標變數,返回的就是整數型變數指標

引用

引用型別是對已經定義的變數的引用,就相當於有兩個變數指向同一個空間。

** 引用在第一次賦值之後與被引用變數幾乎沒有差別,所有運算規則相同,長度也一樣,所以可以和原變數一樣使用。 **

引用的第一次賦值:

  • 引用第一次賦值需要引用型別和被引用型別一樣。
  • 引用之後的賦值和被引用型別的賦值相同。

所以,利用引用第一次賦值的特性,引用經常用來作為引數,在傳遞引數時,引用被第一次賦值,成功引用外部的變數,而在函式內部,引用和普通變數幾乎沒有差別,可以省去類似C中一系列複雜的指標操作。

本文來自部落格園,作者:Karma-Tiumo,轉載請註明原文連結:https://www.cnblogs.com/tiumo/p/15227432.html