C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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笔记(chap 17 标准库特殊设施)输出补白
C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型
C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式
C++ Primer 5th笔记(chap 17 标准库特殊设施)tuple 返回多个值