C++ Multimap 使用指南:插入、查找和遍历
C++ Multimap 使用指南:插入、查找和遍历
本文将带您深入了解 C++ 中 multimap 的使用方法,包括如何插入键值对、使用 equal_range 函数查找多个匹配项以及迭代遍历所有匹配项。
代码示例
#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <list>
#include <map>
#include <algorithm>
using namespace std;
int main()
{ // map<key_t, value_t>
multimap<string, int> mp;
//mp["one"] = 1; //error no []
mp.insert(make_pair("one", 20));
mp.insert(make_pair("two", 20));
mp.insert(make_pair("two", 10));
mp.insert(make_pair("two", 30));
mp.insert(make_pair("two", 40));
cout << "count two " << mp.count("two") << endl;
string key = "two";
// pair< multimap<string, int>::iterator, multimap<string, int>::iterator > pr = mp.equal_range(key);
// auto pr = mp.equal_range(key);
auto it = pr.first;
for (it = pr.first; it != pr.second; it++) {
cout << it->first << " " << it->second << endl;
}
return 0;
}
代码解释
- 在代码中,注释掉了使用
[]操作符给multimap赋值的部分。在multimap中,[]操作符是不可用的,因为multimap中的键可以重复,而[]操作符只能返回一个值。 - 所以,需要使用
insert函数来插入键值对。在插入键值对时,可以使用make_pair函数创建一个pair对象,然后使用insert函数将其插入到multimap中。
总结
通过本文的介绍,相信您已经对 C++ 中 multimap 的使用方法有了更深入的理解。希望本文能够帮助您在实际项目中灵活运用 multimap。
原文地址: https://www.cveoy.top/t/topic/quA0 著作权归作者所有。请勿转载和采集!