1、引用的概念及用法
引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。
定義的格式為:
型別&引用變數名 = 已定義過的變數名;
引用的特點:
1、乙個變數可取多個別名
2、引用必須初始化
3、引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。
引用作為引數
1、值傳遞,如果形參為非引用的傳值方式,則生成區域性臨時變數接收實參的值
void swap(int
left,int
right)
2、引用傳遞,如果形參為引用型別,則形參是實參的別名。
void swap(int& left,int& right)
3、指標傳遞
void swap(int* pleft,int* pright)
傳值做返回值和傳引用做返回值
int& add(int d1,int d2)
void()
{ int a = 3,b = 4;
int c = add(a,b);
cout
<<"c:"
<引用和指標的區別和聯絡
1、引用只能在定義時初始化一次,之後不能改變指向其它變數(從一而終);指標變數的值可變。
2、引用必須指向有效的變數,指標可以為空。
3、sizeof指標物件和引用物件的意義不一樣。sizeof引用得到的是所指向的變數的大小。而sizeof指標是物件位址的大小。
4、指標和引用自增(++)自減(–)意義不一樣。
5、相對而言,引用比指標更安全。
總結指標比引用更靈活,但是也更危險。使用指標時一定要注意檢查指標是否為空。指標所指的位址釋放以後最好置0,否則可能存在野指標問題。
C 指標和引用
在深入介紹之前我們首先來看一下指標和引用的定義 指標和引用的區別,然後分別針對指標和引用展開討論,深入細節為何有這些差異。指標和引用的定義,下面用通俗易懂的話來概述一下 而宣告指標是可以不指向任何物件,也正是因為這個原因,使用指標之前必須做判空操作,而引用就不必。其次,引用不可以改變指向,對乙個物件...
C 引用和指標
引用和指標看上去差不多,看上去差不多,其實男寶寶和女寶寶是不一樣的 用起來還是有一定差距。本人菜鳥僅將遇到的問題記錄備案,以便日後翻查 ptrfunc.h ifndef ptrfunc h define ptrfunc h typedef int func int,int struct aa end...
C 指標和引用
有了變數名,為什麼還需要乙個別名呢?c 之所以增加引用型別,主要是把它作為函式引數,以擴充函式傳遞資料的功能 到目前為止我們介紹過函式引數傳遞的兩種情況 1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的 如果在執行函式期間形參的值發生變化,並不傳回給實參 因為在呼叫函式時,形參和實...