关于 string& 形参

本文探讨了C++中引用形参的使用场景及优势,特别是针对string类对象的处理方式。通过引用而非拷贝可以提高效率并保护数据不变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先引用&是别名,(int &a = b;)a是b的别名,实际上还是b,类型也是int(&);

对于引用的操作实际上是作用在引用所引的对象上面,在许多函数中,通过使用引形参来改变一个或多个实参的值。

为什么要用引用呢?例如在包含string类的函数中,传递的string形参一般写作 const std ::string&a,而不是直接使用std::string a或者const std::string a呢?

  原因是:使用引用可以避免拷贝,使用const能保护数据。

  拷贝大的类类型对象或者容器对象会比较低效,甚至有点类类型(包括 IO 类型在内)根本就不支持拷贝操作。当某种类型不支持拷贝操作时,函数只能通过引用形参访问该类型的对象。

  对于string类来说,string的对象可能会非常长,所以应该避免直接拷贝他们,这时候就要使用引用形参了。

  如果函数无需改变那引用形参的值,最好将其声明为常量引用。

 

-----c++ primer

 

posted on 2018-06-24 09:57 syne 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/syne-cllf/p/9219695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值