非const 引用形参

对于非const 引用形参有以下几点要注意的:

1. 非const 引用形参只能与完全同类型的非const 对象关联,请看如下例子:

/* Note:Your choice is C IDE */
#include<iostream>
using namespace std;
int change(int &val)
{
return ++val;
}
void main()
{
const int a=2;
change(a); //wrong
short b=3;
change(b); //wrong
change(0); //wrong
int c=3;
int d=4;
change(c+d);//wrong



这些情况的调用都是错误的。

2 .  用字符串常量作为实参去初始化非const string 引用形参也是错误的,其错误和上例子的change(0)调用是一样的:不能用const 变量去初始化非const 对象。

 因此应该将不需要修改的引用形参定义为const 引用。普通的非const引用形参在使用时不太灵活。这样的形参即不能用cosnt对象初始化,也不能用字面值或产生的右值表达式进行初始化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值