您的位置:首页 > 其它

常见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引用是常量引用,但是还是可以通过非常量引用改变他的值,这个是需要注意的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: