《C++ Primer》6.3

1.返回非局部对象的引用来修改值

char &get_val(string &s, string::size_type ix) {
    return s.at(ix);
}
void func1() {
    string s("This is a string.");
    for (string::size_type i = 0; i < s.size(); ++i) {
        if (s.at(i) == 'a')
            get_val(s, i) = 'A';
    }
    cout << s << endl;
}

2.返回值可以是一个列表

vector<string> string_list() {
    int x;
    cin >> x;
    switch (x) {
    case 0:return {};
    case 1:return { "saber" };
    case 2:return { "saber","archer" };
    case 3:return { "saber","archer","lancer" };
    }
    return {};
}
void func2() {
    for (string i : string_list())
        cout << i << ' ';
    cout << endl;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,141评论 1 51
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 28,310评论 5 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,306评论 19 139
  • 学校使用网上阅卷,效率提高,期中考试成绩统计快速,所以晚上静下心来看学生的期中考试成绩。成绩各科各有千秋,总体来说...
    lid7520阅读 1,683评论 0 0