最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++ const引用與非const引用介紹

 更新時(shí)間:2013年01月31日 17:01:28   作者:  
const引用是指向const對(duì)象的引用,可以讀取ref,但不能修改所以也就有將const變量賦值給非const引用是非法的,感興趣的朋友可以了解下,或許本文對(duì)你有所幫助
const引用是指向const對(duì)象的引用。
復(fù)制代碼 代碼如下:

const int i = 10;
const int &ref = i;

可以讀取ref,但不能修改。這樣做是有意義的,因?yàn)閕本身就不可修改,當(dāng)然也不能通過(guò)ref來(lái)修改了。所以也就有將const變量賦值給非const引用是非法的。
復(fù)制代碼 代碼如下:

int &ref1 = i; // error: nonconst reference to a const object

非const引用是指向非const類(lèi)型變量的引用。
const引用可以初始化為不同類(lèi)型的對(duì)象或者右值(如字面值常量),但非const引用不可以。
復(fù)制代碼 代碼如下:

// legal for const references only
int i = 10;
const int & ref = 42;
const int & ref1 = r + i;
double d = 3.14;
const int &ref2 = d;

以綁定到不同類(lèi)型的ref2為例解釋原因,編譯器會(huì)把ref2相關(guān)的代碼轉(zhuǎn)換如下:
復(fù)制代碼 代碼如下:

int temp = d;
const int &ref2 = temp; // bind ref2 to temporary

ref2實(shí)際上是綁定到一個(gè)臨時(shí)變量上,如果ref2不為const,那么按道理就可以通過(guò)修改ref2而修改d的值,但實(shí)際上d并不會(huì)改變。所以為了避免這個(gè)問(wèn)題,ref2只能是const。

非const引用只能綁定到與該引用同類(lèi)型的對(duì)象,const引用則可以綁定到不同但相關(guān)的類(lèi)型的對(duì)象或綁定到右值。

相關(guān)文章

  • C語(yǔ)言詳細(xì)分析常見(jiàn)字符串函數(shù)與模擬實(shí)現(xiàn)

    C語(yǔ)言詳細(xì)分析常見(jiàn)字符串函數(shù)與模擬實(shí)現(xiàn)

    字符串函數(shù)(String?processing?function)也叫字符串處理函數(shù),指的是編程語(yǔ)言中用來(lái)進(jìn)行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進(jìn)行字符串拷貝,計(jì)算長(zhǎng)度,字符查找等的函數(shù)
    2022-03-03
  • C++中cout的格式使用詳細(xì)介紹

    C++中cout的格式使用詳細(xì)介紹

    cout 是C++中 ostream 類(lèi)型的對(duì)象,該類(lèi)被封裝在 < iostream > 庫(kù)中,該庫(kù)定義的名字都在命名空間 std 中,所以 cout 全稱(chēng)是 std::cout 。本文重點(diǎn)給大家介紹C++中cout的格式使用,需要的朋友參考下吧
    2021-06-06
  • 最新評(píng)論

    贡觉县| 崇明县| 民乐县| 威宁| 永康市| 江川县| 赣榆县| 卢湾区| 云梦县| 泸州市| 安乡县| 军事| 城步| 化隆| 鄂伦春自治旗| 武义县| 土默特左旗| 二连浩特市| 石渠县| 龙川县| 云霄县| 安徽省| 甘德县| 兴仁县| 平和县| 镇沅| 周宁县| 白水县| 鹤壁市| 西城区| 那坡县| 康定县| 宁武县| 宝丰县| 武陟县| 临猗县| 伊川县| 曲阳县| 五指山市| 阜南县| 阳朔县|