引用与指针的比较

引用和指针的区别在于下面几点: 1. 创建引用时必须初始化,而且不能初始化为null;  而指针可以不初始化,也可以初始化为null int &a; //error, references must be initialized int *p; //right int &a = NULL; //error, can’t init as NULL int *p = NULL; //right 2. 引用初始化后,就不再改变; 而指针随时可以改变所指的对象。 int a = 1; int b = 2; int &r = a; //r成为a的引用,即别名,r恒为a 的引用,不可改变 r = b;//此时不要以为r变成了b的引用,而是把b的值赋给了a, 此是a, r 都为b的值2 r = 3;//a, r的值都变成了3,b的值不变,仍为2 指针却是可以随时改变所指的对象 int a … Read more