- 引用是为对象起了另外一个名字,引用类型引用另外一种类型。通过==&变量名==来定义引用类型。如:
int ival = 1024;
double dval;
int &refVal = ival; //relfVal指向ival,是ival的另一个名字
int &refVal12; //报错,引用必须初始化
int &refVal13 = 10; //报错,引用类型的初始值必须是一个对象
int &refVal14 = dval; //报错,引用类型初始值必须相匹配,必须是int
引用在内部其实是用指针来实现,所以引用的内存大小和指针一样。引用一旦初始化完成就不能和重新绑定到其他对象,不能建立数组引用。
2. 指针本身就是一个对象,允许指针赋值,拷贝在指针生命周期内可以先后指向不同的对象,指针在定义时无须赋初值。