C++引用需要注意的问题

int main()
{
	//对象是具有某种数据类型的内存空间
	int ival = 1024;
	//引用为对象起了另外一个名字,引用类型引用(指的是)另外一种类型
	//一般初始化变量时初始化值会被拷贝到新建对象,而定义引用时程序把引用和它的初始值绑定(bind)
	//通过将声明符写成&d的形式来定义引用类型,d是声明的变量名
	int &refVal = ival;//reVal指向ival,reVal成为了ival的别名
	int &refVal2;//ERROR:引用必须初始化
	refVal = 2;//把2赋给reVal指向的对象,实质上是为ival赋值
	int ii = refVal;//等同于ii = ival;
	int &refVal3 = refVal;//refVal3绑定到了那个与reVal绑定的对象上,即ival

	//几种引用的定义方法
	int i = 1024, i2 = 2048;
	int &r = i, r2 = i2;
	int i3 = 1024, &ri = i3;
	int &r3 = i3, &r4 = i2;

	//几种常见错误
	int &refVal4 = 10;//引用类型的初始值必须是一个对象
	double dval = 3.14;
	int &refVal5 = dval;//这里引用类型的初始值必须是int类型的对象

	//练习
	//判断下列定义是否合法
	int ival0 = 1.01;//合法
	int &rvall = 1.01;//不合法
	int &rvall2 = ival0;//合法
	int &rvall3;//不合法

	int i = 0, &r1 = i;
	double d = 0, &r2 = d;
	//判断下列赋值是否合法
	r2 = 3.14159;//合法,相当于给d赋值
	r2 = r1;//合法,相当于 d = i
	i = r2;//合法,i = 0
	r1 = d;//合法,i = 0
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值