正常情况下被引用的对象改变,常量引用的值也跟着改变。i和j是同一个对象,所以是同步的:

int i = 42;
const int& j = i;
i = 43;
cout << j << endl;
cout << i << endl;
// i == j == 42;

但存在类型转换时,常量引用绑定的是double到int隐式转换后的临时int对象。i和j不是一个对象,所以数据不同步:

double i = 42.5;
const int& j = i;//发生隐式转换,j引用了临时int对象
i = 43;
cout << j << endl;
cout << i << endl;
// j == 42; i == 43;

因为上述道理,所以下面的i和j是同一个对象,所以是同步的:

int i = 42.5;//发生隐式转换,i引用了临时int对象
const int& j = i;
i = 43;
cout << j << endl;
cout << i << endl;
// i == j == 42;

c++常量引用,通过被引用变量修改数据无法同步到引用的更多相关文章

  1. Oracle触发器修改数据时同步执行插入该条数据

    原创:lixx ---从UNWIREDATA 表中查询数据,如果该表中地磁状态发生改变(CARDSTATE)执行插入到MAINTABLE 表中---根据唯一值ERID判断,如果ERID值存在,修改该条 ...

  2. php中引用&的真正理解-变量引用、函数引用、对象引用

    php的引用(就是在变量或者函数.对象等前面加上&符号) //最重要就是 删除引用的变量 ,只是引用的变量访问不了,但是内容并没有销毁 在PHP 中引用的意思是:不同的名字访问同一个变量内容. ...

  3. [C++]变量存储类别,指针和引用,类与对象,继承与派生的一些摘要

    C++中共有四种存储类别标识符:auto/static/register/extern 1.auto 函数或分程序内定义的变量(包括形参)可以定义为auto(自动变量).如果不指定存储类别,则隐式定义 ...

  4. php的引用&(就是在变量或者函数、对象等前面加上&符号)

    官方文档: 1.引用是什么:http://www.php.net/manual/zh/language.references.whatare.php 2.引用做什么:http://www.php.ne ...

  5. JavaScript中变量的LHS引述和RHS引用

    JavaScript中变量的LHS引述和RHS引用 www.MyException.Cn  网友分享于:2015-02-04  浏览:0次 JavaScript中变量的LHS引用和RHS引用 在Jav ...

  6. 【DB2】SQL0501N FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开。 SQLSTATE=24501

    在DB2中建立存储过程时使用了隐式游标,在调用的时候报错如下: SQL0501N  FETCH 语句或 CLOSE 语句中指定的游标尚未打开,或者游标标量函数引用中的游标变量尚未打开.  SQLSTA ...

  7. 1.1.08- Python变量的关联,绑定,引用

    Python中关联.绑定,引用的含义: 在Python中,变量没有类型 关联/绑定/引用都是指变量和一个对象的关联关系. 在交互模式下查看变量的绑定关系: >>>help(" ...

  8. 弱引用?强引用?未持有?额滴神啊-- Swift 引用计数指导

    ARC ARC 苹果版本的自动内存管理的编译时间特性.它代表了自动引用计数(Automatic Reference Counting).也就是对于一个对象来说,只有在引用计数为0的情况下内存才会被释放 ...

  9. 一. JVM发展史,运行时数据区域,四大引用

    一.JVM的出现 JVM将字节码解释成不同os下的机器指令,有了jvm,java语言在不同平台上运行时不需要重新编译 虚拟机发展史 (1)Sun Classic classic jvm要么采用纯解释器 ...

  10. 为啥final类型的map或者arraylist可以修改数据 而final类型的String变量不可以修改数据呢

    比如 final   Map  map =new  HashMap();    可以往map里put数据final   List  list =new  ArrayList();   可以往list里 ...

随机推荐

  1. 你应该了解的hooks式接口编程 - useSWR

    什么是 useSWR ? 听名字我们都知道是一个 React 的 hooks,SWR 是stale-while-revalidate的缩写, stale 的意思是陈旧的, revalidate 的意思 ...

  2. git Already up-to-date解决办法,强制覆盖本地代码

    1.拉取最新云端代码强制覆盖本地代码 git fetch --all git reset --hard origin/master git pull 2.git将分支合并到主master,出现这个结果 ...

  3. composer [ErrorException] Undefined index: process

    执行了升级composer self-update导致了 降级处理 composer self-update --1 composer install

  4. Qt/C++音视频开发67-保存裸流加入sps/pps信息/支持264/265裸流/转码保存/拉流推流

    一.前言 音视频组件除了支持保存MP4文件外,同时还支持保存裸流即264/265文件,以及解码后最原始的yuv文件.在实际使用过程中,会发现部分视频文件保存的裸流文件,并不能直接用播放器播放,查阅资料 ...

  5. Eclipse中如何快速查询一个类和方法在哪里被引用?

    0.在Eclipse中使用全局搜索Ctrl+h的方法快速查询一个类在哪里被引用. 打开Eclipse,使用快捷键Ctrl+h,会弹出一个对话框,找到File Search页签,在Containing ...

  6. 记一次 contentInsetAdjustmentBehavior 引发的bug

    注:本文同步发布于微信公众号:stringwu的互联网杂谈记一次 contentInsetAdjustmentBehavior 引发的bug 1 背景 项目中使用到了UILable来展示相关的文本内容 ...

  7. weblogic-copy

    一.简介 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集成.部署和管理大型分布式Web ...

  8. 如何快速的开发一个完整的iOS直播app(推流篇)

    开发一款直播app,肯定需要流媒体服务器,本篇主要讲解直播中流媒体服务器搭建,并且讲解了如何利用FFMPEG编码和推流,并且介绍了FFMPEG常见命令. 效果 一.安装Homebrew Homebre ...

  9. Superset 下钻与交叉筛选

    以下内容来自外网:https://github.com/apache/superset/issues/6774 具体查看外网,我目前还没有琢磨,如果你有了思路请再下方留言 下面这个网址也有个交叉筛选: ...

  10. docker中创建容器时文件挂载和端口映射命令与首次登录官方mysql的参数

    docker run -itd --name nginx-08 -v /local_data2:/data/nginx/html -p 12000:80  nginx:1.18.0 docker ru ...