zoukankan      html  css  js  c++  java
  • C++:const与引用

    一、把引用t绑定到const对象上,我们称之为对常量的引用。与普通引用不同的是,对常量的引用不能被用作修改它所绑定的对象。

    1 const int ci = 1023;
    2 const int &r1 = ci;  //正确:引用及其队友的对象都是常量
    3 r1 = 42;                //错误:r1是对常量的引用
    4 int &r2 = ci;           //错误:试图让一个非常量引用指向一个常量对象

    假设4是合法的,则可以通过r2来改变它引用对象的值,这是显然错误的。

    二、初始化与对const的引用

    允许为一个常量引用绑定非常量的对象、字面值、甚至是一个表达式。

    1 int i = 42;
    2 const int &r1 = i;     //正确:允许将const int&绑定到一个普通的int对象上
    3 const int &r2 = 42;   //正确:r2是一个常量引用
    4 const int &r3 = r2*2;//正确‘:r3是一个常量引用
    5 int &r4 = r1*2;        //错误:r4是一个普通的非常量引用

    原理:

    1 double  dval = 3.14;
    2 const int &ri = dval;
    //在编译器中
    const int tenp = dval; //由双精度浮点数生产一个临时的整型常量
    const int &ri = temp; //让ri绑定这个临时量
  • 相关阅读:
    7A
    map最最最基本用法
    cccc超级酱油心得
    scu-4445
    初学算法之广搜
    初学算法之最基础的stl队列
    初学算法之筛选素数法
    go 虎牙爬取
    php使用xpath爬取内容
    go xpath
  • 原文地址:https://www.cnblogs.com/OKDA/p/13650525.html
Copyright © 2011-2022 走看看