符合型別——引用變數
引用是以定義變數的別名,常用在作為函式的形參。可直接作用於變數的原始資料,而不是其拷貝。
宣告引用
c++使用&來宣告引用。
int rats;
int & rodents=rats;
指標與引用的區別
int & rodents=rats;
int * prats=&rats;
rodents與* prats都與rats相同,看上去,像是引用(rodents)隱藏了*。
實際上還是有區別的:
必須在宣告引用時對其初始化,一旦與某個變數關聯起來就一直效忠於它,而指標可以後面賦值,一直改變它的值。
從某種層面來講引用像const指標,const指標不初始化就不能再賦值了。
int & rodents = rats;實際是下面的偽裝:
int * const pr =rats;
將引用作為函式引數
這種方法稱為按引用傳遞。突破了c中的按值傳遞。例:交換兩個數的值。
void swapr(int & a, int & b)
指標表示,例:
兩者的區別:1.宣告函式引數的方式不同
2.另乙個區別,p和q需要全程需要加入*。
引號的屬性和特別工具
在引用前加上const,保護原先的值
引用在某種程度上是受限制的,它沒有按值傳遞隨意。它只能用變數當成引數。如:表示式不是變數就不能給 以引用為引數的函式賦值。
臨時變數
只有在引用引數是const,編譯器則在下列兩種情況下生成臨時變數。
1.實參型別正確,但不是左值。(可被引用的資料物件都是左值,如變數,陣列元素,結構成員,指標等)
2.型別不正確,但可以轉化為正確型別。
這些臨時變數只在函式呼叫期間存在。
由於只有使用const才能生成臨時變數,而臨時變數也不會改變原先的數,在某些必要的時候需要使用這個特性。
使用const的三個理由:
使用const可以避免修改資料產生的錯誤
使用const可以處理const資料或非const資料實參,否則將只能接受非const資料
使用const引用使函式能夠正確生成並使用臨時變數。
因此盡可能將引用形參設為const。
嘗試一下const不產生臨時變數。
將引用用於結構
引用非常適用於結構和類。
C 引用變數( )
1 建立引用變數 1 必須在宣告引用變數時進行初始化 int rat int rodent rat 可以通過初始化宣告來設定引用,但不能通過賦值來設定。nt rat int rodent rat int b 50 rodent b 這裡rodent依然是rat變數的別名,只是現在rat和rodent...
C 引用變數
一,引用變數 c 新增了一種復合型別 引用變數。引用是已定義變數的別名,使用引用變數的主要的用途是作為函式的引數。通過將引用變數用作引數,通過形參就可以對原始的資料進行修改。這樣除指標之外,引用也為函式處理class與struct提供了一種非常方便的途徑。二,宣告引用變數 c與c 使用 來獲取變數的...
C 引用變數
首先說一下,引用變數是什麼?引用變數是已定義的變數的別名 即另乙個名字 舉個例子 int x 100 int y x 現在y就相當於x的小名,他們表示的都是乙個東西。就像你叫張三,小名土豆。張三和土豆都是你。說完了引用變數是什麼再來說一下它的用途。引用變數主要的作用是作為函式的引數,來使得函式中的變...