引用和指针的区别
1.引用:一个变量的别名(不开空间)
指针:一个存放地址的变量(开了空间)
2.引用:使用时必须初始化
指针:使用时可以不初始化
3.引用:初始化以后不能改变其值
指针:初始化以后可以再次赋值
4. 引用:不能为空引用;
指针:可以为空(NULL)
5.引用:++,--改变的时其值的大小(变量)
指针:++,-- 改变的是类型的大小
6.引用:sizeof 为引用内容的总大小
指针:sizeof 为4(32位),8(64位)
7.指针,引用 在底层的实现是一样的。
注:
指针比引用更加灵活,指针可以毫无约束的操作内存中的任何东西,但是也更危险,所以使用指针时要注意:
1.使用指针时一定要注意检查指针是否为空;
2.指针所指的空间释放后,最好置零,否则可能存在野指针问题;