C 中 小 引用 的 大作用

2021-09-01 16:52:43 字數 1134 閱讀 6606

嚴格說來,c中是沒有引用這一概念的 只有取位址符這一說法 

引用(reference)是c++對c

的重要擴充。

定義引用的表示方法與定義指標

相似,只是用&代替了*。

引用就是對目標變數的別名,

對引用的操作與對變數直

接操作完全一樣。其實引用也是一種多型的表現。

往往在需要傳遞大型物件火大的資料時 我們需要用到引用,這樣就不必臨時申請棧記憶體來儲存區域性變數。

宣告乙個引用,不是新定義了乙個變數,它只表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元,系統也不給引用分配儲存單元。

從空間和時間效率上來講也是很大的提公升。

使用引用時需要注意幾大點

1.宣告引用時候 必須同時初始化,因為沒有空引用!

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

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

4.引用初始化後不能被改變。

傳遞可變引數

傳統的c中,函式在呼叫時引數是通過值來傳遞的,這就是說函式的引數不具備返回值的能力。

所以在傳統的c中,如果需要函式的引數具有返回值的能力,往往是通過指標來實現的。比如,實現

兩整數變數值交換的c程式如下:

void swapint(int *a,int *b)

使用引用機制後,以上程式的c++版本為:

void swapint(int &a,int &b)

//給函式傳遞大型物件

當大型物件被傳遞給函式時,使用引用引數可使引數傳遞效率得到提高,因為引用並不產生物件的

副本,也就是引數傳遞時,物件無須複製。下面的例子定義了乙個有限整數集合的類:

const maxcard=100;

class set

//建構函式

friend set operator * (set ,set ) ; //過載運算符號*,用於計算集合的交集 用物件作為傳值引數

// friend set operator * (set & ,set & ) 過載運算符號*,用於計算集合的交集 用物件的引用作為傳值引數

...}

HTML中小meta的大作用

name 屬性 1 用以說明生成工具 如microsoft frontpage 4.0 等 3 告訴搜尋引擎你的站點的主要內容 4 告訴搜尋引擎你的站點的製作的作者 5 其中的屬性說明如下 設定為index 檔案將被檢索 http equiv屬性 1 和 用以說明主頁製作所使用的文字以及語言 又如英...

SEO HTML文件中小meta的大作用

告訴搜尋引擎你的站點的主要內容 告訴搜尋引擎你的站點的製作的作者 其中的屬性說明如下 設定為all 檔案將被檢索,且頁面上的鏈結可以被查詢 設定為index 檔案將被檢索 設定為nofollow 檔案將不被檢索,頁面上的鏈結可以被查詢。http equiv屬性 和 用以說明主頁製作所使用的文字以及語...

C 引用的作用

學習了引數的三種傳遞方式 值傳遞 指標傳遞與引用傳遞後不由地對這不熟悉的引用感到好奇,根據引用的概念,引用在定義初始化時與物件名繫結,為物件建立引用名,就類似於別名的作用,可別名不就會像值傳遞一樣不改變實參的值了嗎,可引用傳遞又能跟指標傳遞一樣改變實參的值,我便抱著這種疑問對引用展開 先看下引用傳遞...