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

C++ Multimap 使用指南:插入、查找和遍历

原文地址: https://www.cveoy.top/t/topic/quA0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录