指针与引用的差别?

1)非空差别。在任何情况下都不能使用指向空值的引用。一个引用必须指向某些对象。因此你如果使用一个变量并让它指向一个对象,但是该变量在某些时候可能不指向一个对象,这时你应该把变量声明为指针,因为这样你才可以赋空值给变量,相反,如果变量肯定指向一个对象,例如你的设计不许变量为空,这时你就可以把变量声明为引用,不存在指向空值的引用这个事实,意味者引用的代码执行效率更高。

2)合法性区别。在使用引用之前不需要测试它的合法性,相反,指针则应该总是被测试,防止其为空。

3)可修改区别。指针与引用的另一个重要区别是指针可以重新被赋值以指向另一个不同的对象。但是引用则总是指向在初始化是被指定的对象,以后不能改变,但是指定的对象其内容可以改变

4)应用区别。总的来说,在以下情况应该需要使用指针:一是考虑存在不指向任何对象的可能(这种情况下都能设置指针为空),二是能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)如果总是指向一个对象并且一旦指向后就不会改变指向,那么就应该使用引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值