C++常量引用
来源:互联网 发布:windows根目录在哪 编辑:程序博客网 时间:2024/06/06 09:07
昨天看书时,对图中出现的代码不是很能理解.把代码敲出来以后发现显示的结果如图所示.百度了一下
对于r1 r3而言,r1已经绑定了i,所以i变成什么值,r1也相应的变成合值,r3则跟着r1的改变而改变.所以改动i会相应的改变r1, r3的值
但是对于r2,因为这是一个常量引用,编译器会建立一个临时变量用来存储该常量45的值,如果r2不是绑定到const对象上,那么r2也不可以直接用45来初始化,普通的引用并不是建立一个临时变量来存储右值.
一开始最无法想象的就是r4 r5, 看书的时候一直在想,如果i或者r1发现改变,他们会怎么变化. 动手敲了下代码后发现 他们的值其实已经是确定的了,因为他俩是一个const对象, 当我把i*2和r1*2 分别赋给他们的时候,其实他们得到的是临时变量的值,所以他俩的值是固定的,不会再发生任何改变了的. 因为i*2一开始便已经赋给了临时变量T, 后面虽然我对i进行了增量运算,但并没有再次的把i*2赋给T,也不允许我再次赋一个新值给T,所以r4 r5的值不会发生任何变化.
网上还找到一篇介绍要多用常量引用的原因, 地址: http://www.cnblogs.com/wenjiang/archive/2012/06/09/2543022.html
如果使用常量引用来做形参 void f (const int &i) 这样的话,这个函数可以接受任何值,而不会有太大的限制,可以完美的解决参数不匹配的问题.而且也不用担心会不小心更改了传递进来的参数,保证了数据的安全.
0 0
- 常量函数、常量引用参数、常量引用返回值[C++]
- 常量函数、常量引用参数、常量引用返回值[C++]
- 常量引用
- 引用常量
- 指针引用、常量引用
- 引用和常量引用
- C++const对象 常量数据 常量成员函数 const指针 const引用
- 常量函数、常量引用参数、常量引用返回值
- 引用,指针,常量引用,常量指针,指针常量的区别
- 引用不能是常量
- 关于常量引用
- 字符常量的引用
- 字符串常量下标引用
- C++手记:常量引用
- 尽量使用常量引用
- C++的常量引用
- C++的常量引用
- C++常量引用
- C语言入门(八)条件语句
- <LeetCode> 题4:丑数
- hdu 5204(枚举+找规律)
- HDU-1213 How Many Tables
- opencv_基本数据结构的数据保存
- C++常量引用
- The ZYNQ Book ebook chinese
- codec.jpeg不存在
- CodeForces 427D-Match & Catch
- 分组查询各组第一条记录
- MySQL存储过程相关
- do...while(0)的妙用
- C/C++程序编译步骤以及如何生成可执行文件
- hibernate查找字段