“对const的引用”简称为“常量引用”
- const引用作用
const引用可以用不同类型的对象初始化
不加const的引用如下:
不能完成不同类型的转换,也即不能用不同类型的对象进行初始化。即对于普通引用,引用的类型必须与其所引用对象的类型一致。
加入const引用:
运行后发现 j=10.
上述运行过程其实是先生成一个临时量temp:
const int tmp = i; //生成临时变量
const int &j = tmp; //绑定临时变量
- const引用注意事项:
(1)对const的引用可能引用一个并非const的对象:引用的对象是常量还是非常量可以决定其能参与的操作,却无论如何都不会影响到引用和对象的绑定关系。
r2绑定(非常量)整数i是合法的行为。然而,不允许通过r2修改i的值。尽管如此,i的值仍然允许通过其他途径修改,既可以直接给i赋值,也可以通过像r1一样绑定到i的其他引用来修改。
(2)初始化的必要性: 一旦引用已经定义,它就不能再指向其他的对象.