周末无事,翻开自己尘封已久的C++,复习下~~~
定义
引用是为对象起了另外一个名字,引用类型(引用)另外一种类型。
引用并非对象,相反的,它只是为一个已经存在的对象所起的另外一个名字。
报错原因
int &refVal2; //报错:引用必须被初始化
int &refVal4 =10; //报错:引用类型的初始值必须是一个对象
double dval =3.14;
int &refVal5 = dval; //报错:此处引用类型的初始值必须是int型对象。
总体来看,定义引用需避免出现上述错误。
同时,我们一般陈述为对象的引用,因为引用并非是一个对象,所以我们不能定义一个引用的引用。
在看一个例子的时候,发现了这样一个问题,代码如下:
double d = 0;
int i = 0, &r1 = i;
r1 = d;
这段代码编译通过,为什么呢?
根据上述错误报告,可以看出:引用必须初始化,同时要求初始化时引用类型的初始值必须匹配,只要完成这两点,则定义的这个引用就是这个对象的别名,然后就可以进行操作了。
以上只是自己的见解,欢迎指正!