C 中引用( )的用法和應用例項

2022-09-22 23:12:23 字數 1297 閱讀 7768

c++中引用(&)的用法和應用例項。

對於習慣使用c進行開發的朋友們,在看到c++**現的&符號,可能會犯迷糊,因為在c語言中這個符號表示了取位址符,但是在c++中它卻有著不同的用途,掌握c++的&符號,是提高**執行效率和增強**質量的乙個很好的辦法。在c++學習提高篇(3)---隱式指標的文章中我詳細介紹了在隱式指標&的用法,其實這兩個概念是統一的。

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

一、引用簡介

引用就是某一變數(目標)的乙個別名,對引用的操作與對變數直接操作完全一樣。

引用的宣告方法:型別識別符號 &引用名=目標變數名;

【例1】:int a; int &ra=a; //定義引用ra,它是變數a的引用,即別名

說明:(1)&在此不是求位址運算,而是起標識作用。

(2)型別識別符號是指目標變數的型別。

(3)宣告引用時,必須同時對其進行初始化。

(4)引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數名的別名。

ra=1; 等價於 a=1;

(5)宣告乙個引用,不是新定義了乙個變數,它只表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元,系統也不給引用分配儲存單元。故:對引用求位址,就是對目標變數求位址。&ra與&a相等。

(6)不能建立陣列的引用。因為陣列是乙個由若干個元素所組成的集合,所以無法建立乙個陣列的別名。

二、引用應用

1、引用作為引數

引用的乙個重要作用就是作為函式的引數。以前的c語言中函式引數傳遞是值傳遞,如果有大塊資料作為引數傳遞的時候,採用的方案往往是指標,因為 這樣可以避免將整塊資料全部壓棧,可以提高程式的效率。但是現在(c++中)又增加了一種同樣有效率的選擇(在某些特殊情況下又是必須的選擇),就是引 用。

【例2】:

void swap(int &p1, int &p2) //此處函式的形參p1, p2都是引用

為在程式中呼叫該函式,則相應的主調函式的呼叫點處,直接以變數作為實參進行呼叫即可,而不需要實參變數有任何的特殊要求。如:對應上面定義的swap函式,相應的主調函式可寫為:

main( )

int a,b;

cin>>a>>b; //輸入a,b兩變數的值

swap(a,b); //直接以變數a和b作為實參呼叫swap函式

cout<

C 中引用( )的用法和應用例項

對於習慣使用c進行開發的朋友們,在看到c 中出現的 符號,可能會犯迷糊,因為在c語言中這個符號表示了取位址符,但是在c 中它卻有著不同的用途,掌握c 的 符號,是提高 執行效率和增強 質量的乙個很好的辦法。在 c 學習提高篇 3 隱式指標的文章中我詳細介紹了在隱式指標 的用法,其實這兩個概念是統一的...

C 中引用( )的用法和應用例項

對於習慣使用c進行開發的朋友們,在看到c 中出現的 符號,可能會犯迷糊,因為在c語言中這個符號表示了取位址符,但是在c 中它卻有著不同的用途,掌握c 的 符號,是提高 執行效率和增強 質量的乙個很好的辦法。在 c 學習提高篇 3 隱式指標的文章中我詳細介紹了在隱式指標 的用法,其實這兩個概念是統一的...

C 中引用( )的用法和應用例項

一 引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 ...