概念
变量名,本身是一段内存的引用,即别名(alias)。
此处引入的引用,是为己有变量起一个别名。
C++中引入引用后,可以用引用解决的问题。避免用指针来解决。
规则
- 引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关系。故而类型与原类型保持一致,且不分配内存。与被引用的变量有相同的地址。
- 声明的时候必须初始化,一经声明,不可变更。
- 可对引用,再次引用。多次引用的结果,是某一变量具有多个别名。
- &符号前有数据类型时,是引用。其它皆为取地址。
int a,b;
int &r = a;
int &r = b; //错误,不可更改原有的引用关系
float &rr = b; //错误,引用类型不匹配
cout<<&a<<&r<<endl; //变量与引用具有相同的地址。
int &ra = r; //可对引用更次引用,表示 a 变量