范围for循环中修改元素一定要用&
2020-01-02 本文已影响0人
DinDin1995
一个简单的注意点,共勉:
将字符串中的大写字母改成小写(范围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;
}
}
}