(1)引用,为对象起了另一个名字,通过&d(d是声明的变量名)的形式来定义引用。
int val = 1024;
int &refval = val; //正确
int &refval; //错误,引用必须初始化
(2)引用时,初始值不是被拷贝到新建对象而是和初始值绑定在一起。一旦初始化完成,引用与其初始值对象一直绑定在一起。
定义一个引用后,对该引用进行的所有操作都是在与之绑定的对象上进行。即,以引用为初始值也就是以它绑定的对象作为初始值。
int val = 1024;
int &refval = val; //正确
int &refval; //错误,引用必须初始化
refval = 2; //把2赋给refval指向的对象,也就是ival
int ii = refval; //与ii=ival结果一样
(3)因为引用本身不是一个对象(只是别名),所以不能定义引用的引用。
(4)引用的定义:
int i = 1024, i2 = 2048;
int &r1 = i, &r2 = i2; //允许在一行上定义多个引用。每个引用都要有&。
int &r3 = 10; //错误,引用的初始值必须是一个对象。
double &r4 = i; //错误,类型必须一致。
(5)引用于被引用对象的区别
int main(){
int intone;
int &rs = intone;
intone = 5;
cout << intone << endl;
cout << rs << endl;
cout << &intone << endl;
cout << &rs << endl;
system("pause");
return 0;
}