范围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;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,537评论 0 5
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,447评论 0 2
  • 阿婆教育我,对父母要有孝心对他人要有良心就不会走绝路,即使再困难也会挺过去的!我很相信这句话。对事做人我都依着...
    阳光下的风景阅读 320评论 1 1
  • 4月1日是愚人节,很多人会在今天整蛊人,搞恶作剧,把开玩笑当作对人生的幽默。 在15年前的今天,张国荣也给我们开了...
    贱贱阅读 367评论 0 3