常见const引用的绑定与赋值问题

#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引用是常量引用,但是还是可以通过非常量引用改变他的值,这个是需要注意的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值