C++细节之一----3种参数传递方式的使用场景

  对于参数传递,有3种方式:a 传值 b 传引用 c 传指针

  如果是基本数据类型,那就传值,如果是传递大的对象,那当然是传引用。而对于引用来说,是赋了值后就不会改变的,应该加const, (const &a). 如果函数体要改变这个对象,那就传指针。这是一个结论,以下说明原因。

  将实参传递给形参,需要赋值操作,对于基本数据类型,当然是很快的,但是对于大的对象来说,赋值就是个性能的瓶颈了,因此,我们使用一个引用来传递,不需要赋值,只是引用到一个已经存在的对象上即可,这样明显效率高很多。

    另外,一个很重要的情况。传值和传常量引用实参是不会被形参改变的。而如果函数体要改变实参的值,必须是传指针。

   总结:1 按值调用使用于不被函数更改的小对象;2 按常量引用调用适用于不被函数改变的大对象;3 按指针调用适用于所有可以被函数更改的对象(包含大对象和小对象)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值