1. 非空区别 引用不能指向空值,引用必须指向一个对象 指针可以指向空值。 2 合法性区别 在使用引用之前不需要测试它的合法性。相反,指针则应该总是被测试,防止其为空。 3可修改区别 指针可以重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象其内容可以改变 4应用区别 在以下情况应该使用指针: 不指向任何对象的可能需要能够在不同的时刻指向不同的对象 如果总是指向一个对象并且一旦指向一个对象后不会改变指向,那么应该使用引用。 引用必须初始化。