亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1726 | 回復: 3
打印 上一主題 下一主題

[C++] 為什么reference本身不是const? [復制鏈接]

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-06-27 09:36 |只看該作者 |倒序瀏覽
我們知道一個const變量的意思是一旦賦值,就不能修改:

  1.     int const i=1;
  2.     i=2;
復制代碼
上面的程序會編譯失敗,gcc提示error: assignment of read-only variable 'i'
這都沒有問題,但是下面的程序我就無法理解了:

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     boolalpha(cout);
  6.     int const i =1;
  7.     cout<<is_const<decltype(i)>::value<<endl;
  8.     int const &ri=i;
  9.     cout<<is_const<decltype(ri)>::value<<endl;
  10.     return 0;
  11. }
復制代碼
它輸出的是

  1. true
  2. false
復制代碼
我們知道,引用一旦綁定到了某個名稱以后,就不能在綁定到別的名稱了,而只能對原綁定的對象進行訪問和修改。
那么ri的類型,就是i的類型對吧,那么既然i是int const,為什么ri不是const?

論壇徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16賽季CBA聯(lián)賽之青島
日期:2016-07-05 12:36:0515-16賽季CBA聯(lián)賽之廣東
日期:2016-06-29 11:45:542015亞冠之全北現(xiàn)代
日期:2015-07-22 08:09:472015年辭舊歲徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39獅子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技術圖書徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
2 [報告]
發(fā)表于 2016-06-27 14:47 |只看該作者
int const &ri
中 const 修飾的不是ri,而是ri引用的內容

類似于 int const *p 和 int* const p

論壇徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16賽季CBA聯(lián)賽之青島
日期:2016-07-05 12:36:0515-16賽季CBA聯(lián)賽之廣東
日期:2016-06-29 11:45:542015亞冠之全北現(xiàn)代
日期:2015-07-22 08:09:472015年辭舊歲徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39獅子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技術圖書徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
3 [報告]
發(fā)表于 2016-06-27 14:52 |只看該作者
引用本身是read only的,也就是只能初始化時確定引用誰,以后無法再更改。所以不存在 const引用 和 non-const引用。
int const &ri 的意思是 ri是個引用,引用了一個int const對象。

論壇徽章:
44
15-16賽季CBA聯(lián)賽之浙江
日期:2021-10-11 02:03:59程序設計版塊每日發(fā)帖之星
日期:2016-07-02 06:20:0015-16賽季CBA聯(lián)賽之新疆
日期:2016-04-25 10:55:452016科比退役紀念章
日期:2016-04-23 00:51:2315-16賽季CBA聯(lián)賽之山東
日期:2016-04-17 12:00:2815-16賽季CBA聯(lián)賽之福建
日期:2016-04-12 15:21:2915-16賽季CBA聯(lián)賽之遼寧
日期:2016-03-24 21:38:2715-16賽季CBA聯(lián)賽之福建
日期:2016-03-18 12:13:4015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-05 00:55:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-02-04 21:11:3615-16賽季CBA聯(lián)賽之天津
日期:2016-11-02 00:33:1215-16賽季CBA聯(lián)賽之浙江
日期:2017-01-13 01:31:49
4 [報告]
發(fā)表于 2016-06-28 10:24 |只看該作者
我們知道一個const變量的意思是一旦賦值,就不能修改

其實我們不知道,而且const也不是這個意思。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP