引用与指针的区别:
- 指针是一个变量,有独立的存储空间,存储的是另外一个数据的地址;引用是一个别名,没有独立的地址,与原来的变量是同一个东西;
- 指针定义时可以为空,需要时才进行初始化;引用不可以为空,初始化时必须给定初值;
- 指针可以多级(**);引用不可以多级(&&会发生错误);
- 指针初始化后还可以改变指向其他存储单元;引用不可以再次改变;
- “sizeof指针”是指针本身大小;“sizeof引用”是变量(或对象)大小;
- 指针与引用的“++”运算意义不同;
- 指针和引用作为返回值时需选用指针,因为引用会导致内存泄漏。