范围for循环过程中用&修改元素

一个简单的注意点,共勉:

将字符串中的大写字母改成小写(范围for循环,做不到):

void changeToLower(string &s){
	for (auto i : s){
		if (i >= 'A'&&i <= 'Z'){
			i += 32;
		}
	}
}

将字符串中的大写字母改成小写(范围for循环,做得到):
与上例唯一的区别在于auto i : s 前的&(auto &i : s)

void changeToLower(string &s){
	for (auto &i : s){
		if (i >= 'A'&&i <= 'Z'){
			i += 32;
		}
	}
}

将字符串中的大写字母改成小写(普通for循环,做得到):

void changeBig(string &s){
	for (int i = 0; i < s.size();++i){
		if (s[i] >= 'A'&&s[i] <= 'Z'){
			s[i] += 32;
		}
	}
}
发布了61 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qionggaobi9328/article/details/104550625
今日推荐