虽然指针和引用都可以完成对其他对象的间接访问,但是还是有很多不同之处:
1.本身是否是对象
指针本身就是一个对象,而引用本身不是一个对象。因此允许对指针赋值和拷贝,可以定义对指针的引用,已经指向指针的指针,但是不能定义指向引用的指针。
2.定义时是否需要初始化
引用在定义时必须被初始化,也就是和另一个对象进行绑定,但是不能用字面值或者某个表达式的计算结果来初始化引用。指针被定义时可以不进行初始化,它将拥有一个不确定的值。但是建议在对指针定义时进行初始化,如果还未确定其指向谁,可以声明为指向空的指针(nullptr)。