引用,const引用,指標

2021-08-04 04:06:37 字數 1419 閱讀 2649

引用,const引用,指標

一、引用

(1)定義:引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。

(2)宣告方法: 型別&引用變數名=已定義過的變數名。

(3)特點:

l 乙個變數可以取多個別名

,但引用與其所代表的變數共享同一記憶體空間(模擬

人的別名)

l 引用必須初始化,且必須宣告引用的型別

l 引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。

二、const引用

三、(1)引用作為引數

如果形參為引用型別,則形參是實參的別名。

當不希望函式內改變引數x的值時,盡量使用常引用傳參。

(2)引用作為返回值

對比傳值作為返回值&傳引用作為返回值

由圖可得:

1.傳值返回時,是將ret的值放在eax暫存器中;

2.傳引用返回時,是取ret的位址到eax暫存器中。

因此:1)不要返回乙個臨時變數的引用。

2)如果返回物件出了當前函式的作用域依舊存在,則最好使用引用返回,因為這樣更高效。

四、指標和引用的區別和聯絡(很重要)

(1)引用只能在定義時初始化一次,之後不能改變指向其他變數(從一而終);指標變數的值可變。

(2)引用必須指向有效的變數,指標可以為空。

(3)sizeof

指標物件和引用物件的意義不一樣。

sizeof

引用得到的是所指向的變數的大小,而

sizeof

指標是物件位址的大小。

(4)指標和引用自增(++)自減)(--)意義不一樣。

(5)相對而言,引用比指標更安全。

總結:指標比引用更靈活,但是也更危險。使用指標時一定要注意檢查指標是否為空。指標所指的位址釋放後最好置0,否則可能存在野指標的問題。

指標和引用,const 指標和const 引用

指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...

指標 引用 const

宣告語句 基本資料型別 宣告符。宣告符命名了乙個變數並指定該變數為與基本資料型別有關的某種型別。一 引用 1.定義引用時,程式把引用和它的初始值物件繫結在一起,而不是把初始值拷貝給引用。無法令引用重新繫結到另外乙個物件。int ival 2 int refval ival 2.引用必須初始化,初始值...

引用 指標 const

int temp int 資料型別 型別修飾符 temp 變數 引用 為物件起了另外乙個別名,沒有自己的記憶體空間,定義時必須初始化,只能繫結乙個物件且不能更換繫結。指標 指向另一種型別的符合型別,有自己的記憶體空間,可以指向不同的物件。1 const限定符 其使變數的值不能改變,所以使用const...