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

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

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

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

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

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

非const引用是指向非const類型變量的引用。
const引用可以初始化為不同類型的對象或者右值(如字面值常量),但非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;

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

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

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

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

相關(guān)文章

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

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

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

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

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

    中江县| 景德镇市| 大渡口区| 柯坪县| 鄂托克旗| 广汉市| 河西区| 淮北市| 姚安县| 麻阳| 色达县| 阜平县| 开化县| 福鼎市| 开封县| 潍坊市| 克拉玛依市| 黎城县| 同仁县| 通榆县| 石楼县| 鄂托克前旗| 乌鲁木齐市| 小金县| 分宜县| 辽宁省| 石泉县| 卓资县| 安龙县| 濮阳县| 托克托县| 彰化市| 南城县| 陇川县| 濉溪县| 玉溪市| 刚察县| 仪征市| 泸溪县| 康乐县| 夹江县|