C 中的引用

2021-06-04 08:10:44 字數 667 閱讀 9479

引用主要用於傳遞函式的引數,還可以用作函式的返回型別。

引用就是被引用物件的別名,兩者本質上是同乙個物件。在定義引用的同時必須初始化,被引用的物件不能是常量或右值表示式。

由於引用和被引用的物件本質上為同一物件,故對引用重新賦值也即對被引用的物件重新賦值。所有對引用的操作實際上都是對被引用物件的操作。

引用自從初始化那刻起,就與被引用物件同生共死永不分離,山無稜天地合也不與君絕。

只要是變數就可以建立對它的引用,包括指標。其語法如下:

int m=3;

int* p=&m;

int*& r=p;

p是指向m的指標,r是p的引用,當然也是指向m的指標。

但是引用本身不是變數,故不能建立引用的引用,也不能定義指向引用的指標。另外,建立引用陣列也是違法的,也不能定義void型別的引用。

引用作為函式引數,主要有三個用途:

1)作為輸出引數,返回多個值。

2)作為輸入引數,同時也作為輸出引數,保留函式內部對引數的修改。

3)作為輸入引數,傳遞大物件,提高引數傳遞的效率。(此時為防止對輸入引數的修改經常把輸入形參型別設定為常量引用)。

引用型別也可以作為函式的返回型別,此時不需要生成資料的副本,效率高。然而,不要返回區域性變數或物件的引用,這和不要返回指向區域性變數或物件的指標是乙個道理。

C 中的引用

最近重新看c 看到些以前沒注意的dd,溫故而知新,暫且記下。引用是能自動間接引用的一種指標,即不必使用間接引用運算子 就可以得到乙個引用值。引用可以為變數起別名,它主要用作函式引數以及函式的返回型別。1 引用的定義 如 int i int j i j是i的引用。1 定義引用時,必須立即對它進行初始化...

C 中的引用

例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 宣告引用時,必須同時對其進行初始化。4 引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數...

C 中的引用

引用是c 引入的新語言特性,是c 常用的乙個重要內容之一,正確 靈活地使用引用,可以使程式簡潔 高效。我在工作中發現,許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用。一 引用簡...