c++中函数参数中加入const来修饰变量的作用

1.防修改

int Test(const int TestArray[]);
为了保证TestArray[]数组元素不会在函数中被修改, 将它定义为 const 参数

2.类的对象定义为 const 引用,可以节省对象传递中的开销(同时防修改)

void Test( const Myclass &obj) ;

void Test(MyClass obj) 这样声明的函数函数体内将产生MyClass类型的临时对象用于复制参数obj,而临时对象(obj的副本)的构造、复制、析构过程都将消耗时间。

为了提高效率,可以将函数声明改为void Test(MyClass &obj),因为“引用传递”仅借用一下参数的别名而已,不需要产生临时对象。从而提高效率。

但是函数void Test(MyClass & obj) 存在一个缺点:“引用传递”有可能改变参数obj,这可能不是我们期望的。

为了解决这个问题,加const修饰即可,即void Test( const Myclass &obj) ;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值