- 定义和初始化:指针可以先定义后初始化,而引用必须在声明的时候初始化;
- 重定向:指针可以在后续的使用中,通过
=
来改变其指向的地址,而引用不可以重新绑定其引用的对象;
- 空间占用:指针本身需要额外的空间(4位/8位),而引用不会占用额外空间,只是为对象起了一个别名;
- 操作符:指针使用
*
来访问其值,用->
来访问其值的成员,引用则和原对象一样使用;
- 数据结构:指针可以有数组,但是引用不行
=
来改变其指向的地址,而引用不可以重新绑定其引用的对象;*
来访问其值,用 ->
来访问其值的成员,引用则和原对象一样使用;