範圍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;
		}
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章