1,引用只是变量的别名,指针是变量的地址
- 指针-对于一个类型T,T就是指向T的指针类型,也即一个T类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:
- 引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:
2,引用不可以为空,指针可以为空
引用在定义的时候必须进行初始化,而指针可以不进行初始化
3,引用不可以改变指向,而指针可以改变指向
引用在初始化后就不能再引用其他变量,而指针可以改变为指向其他变量的地址
4,引用的大小为指向变量的大小,指针的大小为固定4/8(32位系统为4,64位为8)
5,引用比指针安全,因为初始化一个引用只指向一个变量