一、引用
1.什麼是引用
引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。
2.定義的格式
型別&引用變數名
=已定義過的變數名。
3.引用的特點
1)乙個變數可以取多個別名。
2)引用必須初始化。
3)引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。
int main()
三、引用做返回值和引用傳參
如果形參為引用型別,則形參是實參的別名。
void change(int& a, int& b)
int main()
int main()
{ int a = 1;
int b = 2;
int ret =add(a, b);
cout<
原因是傳值返回時,是將sum的值放到
eax暫存器中。傳引用返回時,是取
ret的位址放到
eax暫存器中。
所以:1)不要返回乙個臨時變數的引用。
2)如果返回物件出了當前函式的作用域依舊存在,則最好使用引用返回,因為這樣更高效。
四、指標和引用的區別和聯絡
1)引用只能在定義時初始化一次,之後不能改變指向其他變數(從一而終);指標變數的值可變。
2)引用必須指向有效的變數,指標可以為空。 3)
sizeof
指標物件和引用物件的意義不一樣。
sizeof
引用得到的是所指向的變數的大小,而
sizeof
指標是物件位址的大小。
4)指標和引用自增(++)自減)(--)意義不一樣。
5)相對而言,引用比指標更安全。
總結:指標比引用更靈活,但是也更危險。使用指標時一定要注意檢查指標是否為空。指標所指的位址釋放後最好置0,否則可能存在野指標的問題。
引用,const引用,指標
引用,const引用,指標 一 引用 1 定義 引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。2 宣告方法 型別 引用變數名 已定義過的變數名。3 特點 l 乙個變數可以取多個別名 但引用與其所代表的變數共享同一記憶體空間 模擬 人的別名 l 引用必須初始化,且必須宣告引用的型別...
指標和引用,const 指標和const 引用
指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...
指標 引用 const
宣告語句 基本資料型別 宣告符。宣告符命名了乙個變數並指定該變數為與基本資料型別有關的某種型別。一 引用 1.定義引用時,程式把引用和它的初始值物件繫結在一起,而不是把初始值拷貝給引用。無法令引用重新繫結到另外乙個物件。int ival 2 int refval ival 2.引用必須初始化,初始值...