引用與指標比較

2021-08-03 14:27:16 字數 1486 閱讀 9017

引用:

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

定義的格式為:

型別    &引用變數名=已經定義過的變數名;

例如:

int  m;        int  &n=m;         //此處n為m的別名

引用的特點:

1.乙個變數可以有多個別名

2.引用必須初始化

3.引用只能在初始化的時候引用一次,不能改變為再引用其他的變數(即乙個變數的別名不能再去做其他變數的別名)

const 引用

void testreference2()

int main()

引用作為引數如果形參為引用型別,則形參是實參的別名,效率很高,並且不用生成臨時變數

void swap(int& left, int& right)

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

void readbigdata(const bigdata& x)

引用做返回值

int& add(int d1, int d2)

void test()

int main()

結論:1.不要返回乙個臨時變數的引用。

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

引用和指標的區別和聯絡

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

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

3.sizeof指標物件和引用物件意義不同,sizeof引用得到的是所指向變數的大小,而sizeof指標是物件位址的大小。

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

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

總結一下:

指標比引用更靈活,但是也更危險。

使用指標時一定要注意檢查指標是否為空。指標所指的位址釋放以後最好置0,否則可能存在野指標。

引用與指標的比較

引用在建立的同時必須初始化,即引用到乙個有效的物件 而指標在定義的時候不必初始化,可以在定義後面的任何地方重新賦值 不存在 引用,引用必須與合法的儲存單元關聯 而指標則可以是null.引用一旦被初始化為指向乙個物件,它就不能被改變不另乙個物件的引用 而指標在任何時候都可以改變為指向另乙個物件 給引用...

引用與指標的比較

指標與引用的比較 int m int n m n是m的乙個引用,m是被引用物。n就相當於m的乙個別名,對n的操作就相當於對m的操作,n既不是m的拷貝,也不是指向m的指標,n就是m它自己。c 中值傳遞,指標傳遞,引用傳遞的對比 includeusing namespace std void fun1 ...

C 引用與指標的比較

c 語言中,函式的引數和返回值的傳遞方式有三種 值傳遞 指標傳遞和引用傳遞。引用與指標的比較 1 引用被建立的同時必須被初始化 指標則可以在任何時候被初始化 2 不能有null引用,引用必須與合法的儲存單元關聯 指標則可以是null 3 一旦引用被初始化,就不能改變引用的關係 指標則可以隨時改變所指...