引用:
引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。
定義的格式為:
型別 &引用變數名=已經定義過的變數名;
例如:
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 一旦引用被初始化,就不能改變引用的關係 指標則可以隨時改變所指...