1.初始化要求不同。引用在创建的同时必须初始化,而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值;
2.可修改性不同。引用一旦被初始化,就不能被另一个对象引用了,而指针在任何时候都可以指向另一个对象;
3.不存在NULL引用。引用不能使用指向空值的引用,必须指向某对象;而指针可以是NULL,不需要总是指向某些对象,可以把指针
指向任意对象,所以指针更加灵活,也容易出错。
4.测试时的区别:由于引用不会指向空值,这意味着使用引用之前不需要测试他的合法性;而指针则需要经常进行测试。因此
引用的代码效率高于指针;
5.应用的区别:如果指向一个对象后就不会改变指向,应该使用引用;如果指向NULL或在不同时刻指向不同的对象,应使用指针。