国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

新手入門:C++下的引用類型

2019-11-17 05:50:25
字體:
來源:轉載
供稿:網友
引用類型也稱別名,它是個很有趣的東西。在c++ 下你可以把它看作是另外的一種指針,通過引用類型我們同樣也可以間接的操作對象,引用類型主要是用在函數的形式參數上,通常我們使用它是把類對象傳遞給一個函數。 =版權所有  熱點網絡 熱點下載  熱點網絡學院  版權所有=  引用對象采用類型名加上&符號和名稱的方式進行定義。例如:(int &test;),這里我們就定義了一個int類型的名為test 的引用,但是int &test;這樣的方式是不能夠被編譯成功的,因為引用的定義必須同時給應用進行賦值操作,這里的賦值并不是說把變量的值傳遞給引用,而是把引用指向變量,寫成這樣就對了:(int &test=變量名;)。 #include <iostream
using namespace std; 
 
void main(void

 
int a=10; 
int &test=a; 
test=test+2; 
 
cout << &a << "|" << &test << "|" << a << "|" <<test << endl; 
 
cin.get(); 
}   觀察并編譯運行上面的代碼你會發現&a和&test的地址顯示是相同的,a和test的值顯示也是一樣的!  結合前一個教程的內容我們來說一下const引用的相關內容,這里要非凡注重,和前一個教程一樣帶const修飾的引用同樣也輕易混淆概念!

  const修飾假如用在引用上會有一個非凡之處,它的奧妙就在于可以進行不同類型的對象的初始化,而這一切在普通變量操作上是不可能的下面我們來看一個例子:#include <iostream
using namespace std; 
 
void main(void

 
int a=10; 
//double &test = a + 1.2f; //這句就是錯誤的! 
const double &test = a + 1.2f; 
 
cout << &a << "|" << &test << "|" << a << "|" <<test << endl; 
 
cin.get(); 
}   上面的代碼足夠說明問題了,這就是const修飾帶來的好處,但是聰明的人會在輸出的時候發現一個問題,就是a和test的值的輸出不同,按照最先說的道理應該可以改變a的值呀,為什么在這里卻有沒有能夠改變呢? =版權所有  熱點網絡 熱點下載  熱點網絡學院  版權所有=


  道理是這樣的,const修飾過后的引用在編譯器內部是這樣進行變化的。int a=10; 
const double &test = a + 1.2f;  這樣的一段代碼在編譯器認為卻是下面的方式進行的int a=10; 
int temp = a; 
const double &test = temp + 12.f  這里其實是把a的值賦給了一個臨時temp 變量而后test獲得的卻是temp+12.f 改變的是temp而不是a,所以就出現了a和test顯示的值不同的情況,這里要非凡注重,這是一個很輕易混淆的地方,在編寫程序的時候要非凡仔細,以免出現了問題卻檢查不出為什么

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳朔县| 林口县| 枣庄市| 千阳县| 建昌县| 曲阜市| 马龙县| 永兴县| 桦甸市| 湘阴县| 兰坪| 福鼎市| 观塘区| 丹东市| 盐源县| 仁布县| 威信县| 龙胜| 哈密市| 玛沁县| 平乐县| 横山县| 临泽县| 皋兰县| 灵璧县| 陇川县| 平遥县| 宣恩县| 哈巴河县| 昌邑市| 栖霞市| 含山县| 喀喇沁旗| 专栏| 忻州市| 团风县| 高尔夫| 柳林县| 个旧市| 延边| 富锦市|