麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C++ > 正文

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

2024-09-07 17:00:57
字體:
來源:轉載
供稿:網友

引用類型也稱別名,它是個很有趣的東西。在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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产91极品 | 羞羞的视频免费在线观看 | 亚洲无av| 91精品国产综合久久久欧美 | 精品视频一区二区三区四区 | 午夜精品一区二区三区免费 | 黑人日比视频 | 国产午夜免费视频 | 日本在线播放一区二区 | 国产美女视频一区 | www.99热精品 | 色婷婷久久久亚洲一区二区三区 | 久久99亚洲精品 | 欧美成人亚洲 | 欧美性生交xxxxx久久久缅北 | 禁漫天堂久久久久久久久久 | 深夜免费视频 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 精品国产99久久久久久宅男i | 91久久国产露脸精品国产护士 | 性 毛片 | 香蕉久久久 | 免费一级毛片在线播放视频老 | 欧美一级一区二区三区 | 欧美黑大粗硬毛片视频 | 亚洲片在线观看 | 日韩黄色在线播放 | 亚洲成人福利电影 | 亚洲无av | 黄网站免费观看视频 | 国产精品久久久久久久久久东京 | 一区二区三区视频在线观看 | 5xx免费看 | 刘亦菲一区二区三区免费看 | 久精品国产 | 国产精品99一区二区 | 精品国产一区二区三区蜜殿 | 欧美人与牲禽动交精品一区 | 巨乳激情 | 久久国产精品一区 | 热re91久久精品国产99热 |