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 返回多个值

C++ Primer 5th笔记(chap 17 标准库特殊设施)控制输入格式

C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset操作