c++参数传递【传引用的意义】

引用符号的位置是在变量之前。

1、使用引用避免拷贝

  • 1.1拷贝大的类类型对象或者容器对象比较低效
  • 1.2甚至有的类类型如IO类根本就不支持拷贝操作。当某种类型不支持拷贝操作,函数只能通过引用形参来访问该类型的对象。

举个例子:我们准备编写一个函数比较两个string对象的长度,因为string对象往往会比较长,所以尽量避免直接拷贝它们。这时候传递引用形参是明智的选择,并且比较长度无须改变string对象的内容,所以把形参定义成对常量的引用。

bool isShorter(const& string str1,const& string str2){
    return str1.size() >str2.size();
}

2、使用引用形参返回额外信息

 一个函数只能返回一个值,然而有时候函数需要返回多个值,引用形参为我们一次返回多个结果提供了捷径。

下面函数要返回某个字符c,在字符串str中出现的次数和第一次出现的位置。

void find_firstOccurs_and_totalTimes(const string&str,char c,int& occurs_time, int& first_pos) {
	for (int i = 0; i < str.size();i++) {
		if (str[i] == c) {
			if (first_pos == -1) {
				first_pos = i + 1;
			}
			occurs_time++;
		}
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值