1.引用變數
引用是已定義的變數的別名(另乙個名稱)。如:有一變數x,而y作為變數x的引用,則可以交替使用x和y來表示該變數。就像有兩個單詞表示同乙個意思。
int cats;
int & tomcats =cats;
其中,&不是位址運算子,而是型別識別符號的一部分。上述宣告允許將cats與tomcats互換——它們指向相同的值和記憶體單元。
1.1.2.引用變數的使用
#include
int main()
下面是上面的程式的輸出:
cats = 100, tomcats = 100從中可知,cats和tomcats的值和位址都相同,無論兩個中的哪乙個進行相應操作,另乙個都會受到影響。cats = 101, tomcats = 101
cats address = 006ffa38
, tomcats addresss = 006ffa38
請按任意鍵繼續…
1.1.3.與指標的區別
引用看上去很像偽裝的指標。實際上,兩者還是同中有異的。
差別之一:必須在宣告引用時將其初始化,而不能像指標那樣,先宣告,再賦值:
int cat;
int & tomcat;
tomcat = cat; // 你不能這麼做
差別之二:引用一旦與某個變數關聯起來,就將一致效忠於它,也就是說:
int & tomcat = cat;
實際上是下述**的偽裝表示:
int * const p =&cats;
引用 tomcat 扮演的角色與表示式*p相同
若試圖改變tomcat 的指向,將發生:
#include
int main()
結果是:
cats = 100, tomcats = 100最初,tomcats引用的是cats,隨後試圖將tomcats作為rats的引用,看似可以,實質tomcats的位址並未發生變化,其實就是cats address = 008ff990, tomcats addresss = 008ff990
rats = 50, cats = 50, tomcats = 50
rats address = 008ff978, tomcats address = 008ff990
請按任意鍵繼續…
cats =rats; //將rats變數的值賦給cats變數
函式探幽(3) 引用(3)
3.1.將引用用於結構 引用非常適合用於結構和類,而引入引用的目的也是為了用於這些型別。有如下結構定義 struct free throws 則可以這樣編寫函式原型 void set pc free throws ft 如果不希望函式修改傳入的機構,可使用const void display con...
函式探幽(二) 引用變數,預設引數
1 預設引數 函式在宣告時可以預先定義預設的形參值。呼叫時若給出實參則用實參初始化形參,如果沒有給出實參則採用預先定義的預設形參值。假設有乙個名為left 的函式,它將字串和n作為引數,並返回該字串的前n個字元。更準確地說,該函式返回乙個指標,該指標指向由原始字串被選中的部分組成的字串。例如,函式呼...
C 筆記1引用
include 標準命名空間 包含很多標準定義 using namespace std const double pi 3.14 圓class mycircle 獲取圓的面積 double gets void main 引用 void main 指標交換值 void swap1 int a,int ...