C/C++中 关于对 引用变量 赋值的一些规则

int a = 1;

int &b = a;//正确


int &b  = 2;//错误


const int &a = 2;//正确


int *p = new int;

int &a = *p;//正确

int &a=p;//错误


int a = 2;

const int& b = a;//正确


总结:

引用要满足两个条件

1.引用的数据类型必须相同。

2.引用赋值时不可以将不能改变的量赋给可以改变的量。


int a = 1;

int &b = a;//正确

满足条件1,2;


int &b  = 2;//错误

不满足条件2,因为常量2是不可改变的常量,而引用的b是可以改变的,所以错误;


const int &a = 2;//正确

因为2和a在这里均为不可改变的常量,所以没问题


int *p = new int;

int &a = *p;//正确,因为*p为int格式,且可以改变

int &a=p;//错误,因为p为int*格式,格式不符,不满足条件1


int a = 2;

const int& b = a;//正确

可以将可以改变的量赋值给不可改变的量,反过来不可以





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值