常见const引用的绑定与赋值问题
2017-11-07 11:14
253 查看
#include <iostream> using namespace std; int main() { int a1=1; const int &r1=1;//const引用可以绑定字面值常量 const int &ra1=a1; //int &r2=1; 非const引用不能绑定字面值常量 int a2=a1; //int &r2=ra1;//非const引用不能绑定const引用 int &r2=a1; r2=ra1;//const引用可以向非const引用赋值 r2=10;//通过非const引用修改const引用 cout<<ra1<<endl; return 0; }
运行结果输出10.
关键是理解绑定和赋值的区别,绑定是用于引用初始化的,而赋值是初始化后的行为,所以先定义了r2,再用const引用向其赋值。
虽然const引用是常量引用,但是还是可以通过非常量引用改变他的值,这个是需要注意的。
相关文章推荐
- 常见const引用的绑定与赋值问题
- 谈谈.NET中常见的内存泄露问题——GC、委托事件和弱引用
- 何时应将引用形参定义为 const 对象?如果在需要 const 引用时,将形参定 义为普通引用,则会出现什么问题?
- 关于const char*和char*、const char** 和char** 赋值问题
- 【面试常见问题】【C++】指针和引用的区别,有哪些不同点,细细道2
- 引用常见问题
- php foreach 使用&(与运算符)引用赋值要注意的问题
- C常见问题之对结构变量的整体赋值问题
- DataGridView 中非绑定的数据列赋值问题
- wpf数据绑定常见问题
- 数据绑定常见问题
- SDL项目常见问题( error LNK2019: 无法解析的外部符号 _main ,该符号在函数 _mainCRTStartup 中被引用)
- 关于const常量与指针赋值的问题
- const 关键字意义,用法与常见问题
- 关于const char*和char*、const char** 和char** 赋值问题
- 关于const char*和char*、const char** 和char** 赋值问题
- 关于const char*和char*、const char** 和char** 赋值问题
- 关于const char*和char*、const char** 和char** 赋值问题
- 非const引用参数传入不同类型编译不过的理解(拒绝将临时对象绑定为非const的引用的形参是有道理的)
- js 数组赋值问题 :值传递还是引用?