《C++ Primer》6.2

1.使用引用避免拷贝

// 使用引用避免拷贝 
bool IsSame(string &a1, string &a2) {
    return (a1 == a2);
}

2.使用引用形参返回额外信息

string::size_type find_char(const string &s, char c, string::size_type &cnt) {
    // find_char()查询字符串中第一次出现字符c的位置以及隐式地返回c出现的次数
    decltype(s.size()) ret;
    cnt = 0;
    bool HasFound = false;
    for (auto it = s.begin(); it != s.end(); ++it) {
        if (*it == c) {
            if (HasFound == false) {
                HasFound = true;
                ret = it - s.begin() + 1;
            }
            cnt++;
        }
    }
    return ret;
}

void func1() {
    string s = "This is a string.";
    string::size_type occ = 0;
    cout << find_char(s, 'i', occ) << endl;
    cout << occ << endl;
}

3.C++ 11 initializer_list

initializer_list<int> li{ 1,2,3,4,5 };
void func2(initializer_list<int> li) {
    for (auto it = li.begin(); it != li.end(); ++it)
        cout << *it << ' ';
}```
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容