C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//files 中的每個元素保存一家書店的銷售記錄
vector<vector<Sales_data>> files;//matches 有三個成員 : 一家書店的索引和兩個指向書店 vector 中元素的迭代器
typedef tuple<vector<Sales_data>::size_type, vector<Sales_data>::const_iterator,vector<Sales data>::const iterator> matches;vector<matches> findBook(const vector<vector<Sales_data>> &files, const string &book)
{vector<matches> ret;for (auto it = files.cbegin(); it != files.cend(); ++it){auto found = equal_range(it->cbegin(), it->cend(), book, compareIsbn);if (found.first != found.second)ret.push_back(make_tuple(it - files.cbegin(), found.first, found.second));}return ret;
}void reportResults(istream &in, ostream &os, const vector<vector<Sales_data>> &files){string s;while(in >> s && s != "q") {auto trans = findBook(files, s);if(trans.empty()) {cout << s << " not found in any stores\n";}else {for(const auto &store : trans) {os << "store " << get<0>(store) << " sales: "<< accumulate(get<1>(store), get<2>(store), Sales_data(s))<< endl;}}}
}
總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(cha
- 下一篇: C++ Primer 5th笔记(cha