More Effective C++ 01:指针与引用的区别

本文探讨了C++中指针和引用的选择问题。指针可以为空,适合需要在不同时间指向不同对象的情况,而引用必须始终引用一个对象,无法为空且初始化后不可变,提供更高效且安全的间接访问方式。在考虑性能和安全性时,引用是优于指针的选择,尤其是在重载操作符如[]时。
摘要由CSDN通过智能技术生成

指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?
在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。
因为引用肯定会指向一个对象,在 C++里,引用应被初始化。
在这里插入图片描述
在这里插入图片描述
指针则没有这样的限制
在这里插入图片描述
不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。
比如:

void printint(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值