c++引用(reference)

定義引用類型:

int ival =  1024;
int &refVal = ival;

意義:
實質是給ival變量起了別名,叫refVal酪耕。

比如你爸可以叫你全名导梆,也可以叫你乳名,還可以叫你兒子迂烁,都是指你看尼。

注意以下3點:

(1)定義時必須要賦值,不賦值會報錯盟步,下面這樣是錯的:

int &refVal2;                 //此行報錯

(2)直接用字面值賦值給引用也是錯的:

int &refVal2 = 100;            //此行報錯

(3)引用的類型和被引用的變量類型不一致也是錯的:

double dval = 3.14;
int &refVal3 = dval;               //此行報錯

既然是別名藏斩,那么引用就等價于變量,可以在等號右邊給其他變量賦值址芯。

int ival = 1024;
int &refVal = ival;
int ival2;
ival2 = refVal;           //等價于ival2 = ival;

當然也可以放在等號右邊,被其他變量賦值灾茁。

int ival = 1024;
int &refVal = ival;
int ival2 = 1;
refVal = ival2;
std::cout << ival << " " << refVal << " " << ival2 << std::endl;

輸出結果

1 1 1

你可能會認為現(xiàn)在refVal轉去引用ival2了。并不會這樣谷炸,ta
引用不能轉綁北专,賦值之后只能訪問最初的引用
也就是你的名字會跟你一輩子(不考慮改名的情況)


如果引用加上了const,那就是來搞事情了旬陡。此時拓颓,上文提到要注意的3點只剩1點了:

</br>

(1)const特性本來就是必須要初始化的,所以定義時還是必須要賦值

const int &r1;             //此行報錯

(2)現(xiàn)在直接用字面值賦值給引用完全沒問題了:

const int &r1  = 100;           //合法
std::cout << r1 << std::endl;         //輸出100

(3)引用的類型和被引用的變量類型不一致也是對的:

double dval = 3.14;
const int &r2  = dval;
std::cout << ri << std::endl;     //輸出3

//實際上等價于:
double dval = 3.14;
const int temp = dval;
const int &ri = temp;
std::cout << ri << std::endl;     //輸出3

指針和引用的主要區(qū)別:
(1)指針本身是一個對象描孟,可以對指針賦值和靠背驶睦,指針可以改變指向對象;引用不是一個對象匿醒,不能重新綁定到另一個對象场航。
(2)指針不需要在定義時就賦值;引用必須在定義時賦值廉羔。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末溉痢,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孩饼,老刑警劉巖髓削,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異镀娶,居然都是意外死亡立膛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門梯码,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宝泵,“玉大人,你說我怎么就攤上這事轩娶÷承桑” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵罢坝,是天一觀的道長廓握。 經(jīng)常有香客問我,道長嘁酿,這世上最難降的妖魔是什么隙券? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮闹司,結果婚禮上娱仔,老公的妹妹穿的比我還像新娘。我一直安慰自己游桩,他們只是感情好牲迫,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著借卧,像睡著了一般盹憎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铐刘,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天陪每,我揣著相機與錄音,去河邊找鬼镰吵。 笑死檩禾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的疤祭。 我是一名探鬼主播盼产,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼勺馆!你這毒婦竟也來了戏售?” 一聲冷哼從身側響起啦辐,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜈项,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體续挟,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡紧卒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诗祸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跑芳。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖直颅,靈堂內(nèi)的尸體忽然破棺而出博个,到底是詐尸還是另有隱情,我是刑警寧澤功偿,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布盆佣,位于F島的核電站,受9級特大地震影響械荷,放射性物質發(fā)生泄漏共耍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一吨瞎、第九天 我趴在偏房一處隱蔽的房頂上張望痹兜。 院中可真熱鬧,春花似錦颤诀、人聲如沸字旭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遗淳。三九已至,卻和暖如春心傀,著一層夾襖步出監(jiān)牢的瞬間洲脂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工剧包, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恐锦,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓疆液,卻偏偏與公主長得像一铅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子堕油,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容