指针与应用都是让你间接引用其他对象。
指针可以为空,可以改变指向的对象。
引用相当与一个对象的别名,必须要初始化。且初始化后他所指向的对象不能改变。
一是你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空)
二是你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)。如果总是指向一个对象并且一旦指向一个对象后就不会改变指向,那么你应该使用引用。
还有一种情况,就是当你重载某个操作符时,你应该使用引用。最普通的例子是操作符[]。这个操作符典型的用法是返回一个目标对象,其能被赋值。