C++ reference
作用:给对象起别名,主要用作函数的形参。
用法:通过在变量名前添加“&”符号来定义,是一种复合类型(用其他类型定义的类型)。
性质:
1. 定义引用必须被初始化。
2. 引用的初始化是将引用和它的初始值绑定在一起,而不是将初始化值拷贝给引用。
3. 无法令引用重新绑定到另外一个对象。
4. 引用不是对象,不能定义引用的引用。
5. 允许一条语句中定义多个引用。
6. 不能建立数组的引用,可以建立指针的引用。
7. 使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作,效率高所占空间少。
8. const引用是指向const对象的引用。
9. 非const引用只能绑定到与该引用同类型的对象,const引用则可以绑定到不同但相关的类型的对象或绑定到右值。
double dval = 3.14;
const int &ri = dval;
等价于:
double dval = 3.14;
int temp = dval;
const int &ri = temp;