1,引用
引用即是变量的别名,对引用的操作即是对变量的操作。
引用必须在初始化时赋值,即一旦与某个变量绑定就无法改为和另一个对象绑定。
int a = 2;
int &ref_a = a;
2,const引用
const引用是指指向const对象的引用。
const int a = 2;
const int &ref_a = a;
const变量只能用const引用来引用。
const引用既可以引用const变量,也可以引用非const变量。
cont引用可以指向右值,比如字符串字面值和计算式。
const引用还可以引用不同类型的变量,只要通过类型转换可以实现转换就行。
比如double何int之间,就可以。而向int和类类型之间就不行。
double d1 = 2.4;
const int ref1 = d1;
ref1将获得int值2
模板的形参应当使用const引用。
总结:
3,指向数组的引用
int (&arr)[10] //arr为引用,指向一个int[10]数组
int &arr[10] //arr为数组,长度为10,每个元素都是引用,编译会出错!因为引用不能用作数组成员!