1.由于引用不是变量,所以不能声明引用的引用,也不能声明数组元素的类型为引用或者指向引用的指针。例如:
int &(&a);//错误
int &&a = 10;//正确,这是右值引用,可以修改
int &a[5];//错误
由于指针是变量,因此可以说明对指针变量的引用,例如:
int *a;
int *&p = a;
int b;
p = &b;
2.指针的值是某一变量的内存单元地址,而引用则与初始化它的变量具有相同的内存单元地址。指针是一个变量,可以把它再赋值指向其他的地址,然而,建立引用时必须进行初始化并且绝不会再指向其他不同的地址。
3.C++没有提供访问引用本身地址的方法,而指针的地址可以访问到。