C++ unordered_multimap用法总结
2024-01-09 03:04:28
std::unordered_multimap
是 C++ 标准模板库中的一种无序关联容器,它允许存储相同键的多个副本,并提供高效的插入、查找和删除操作。以下是 std::unordered_multimap
的用法总结:
包含头文件:
#include <unordered_map>
创建 std::unordered_multimap
对象:
std::unordered_multimap<KeyType, ValueType> myUnorderedMultimap;
KeyType
是映射中键的类型。ValueType
是映射中值的类型。
插入键值对:
myUnorderedMultimap.insert(std::make_pair(key, value));
删除键值对:
myUnorderedMultimap.erase(key);
遍历 std::unordered_multimap
:
for (const auto& pair : myUnorderedMultimap) {
// pair.first 是键
// pair.second 是值
}
查找元素:
auto range = myUnorderedMultimap.equal_range(key);
for (auto it = range.first; it != range.second; ++it) {
// 处理每个匹配的键值对
}
获取 std::unordered_multimap
的大小:
size_t size = myUnorderedMultimap.size();
注意事项:
std::unordered_multimap
是无序的,插入的元素的顺序不一定与插入的顺序相同。- 允许存储相同的键,即允许重复键。
示例:
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_multimap<std::string, int> myUnorderedMultimap;
// 插入键值对
myUnorderedMultimap.insert(std::make_pair("apple", 10));
myUnorderedMultimap.insert(std::make_pair("orange", 20));
myUnorderedMultimap.insert(std::make_pair("apple", 30));
// 遍历 unordered_multimap
for (const auto& pair : myUnorderedMultimap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
// 查找元素
auto range = myUnorderedMultimap.equal_range("apple");
for (auto it = range.first; it != range.second; ++it) {
std::cout << "Found matching pair - Key: " << it->first << ", Value: " << it->second << std::endl;
}
// 获取 unordered_multimap 的大小
size_t size = myUnorderedMultimap.size();
std::cout << "Size of unordered_multimap: " << size << std::endl;
return 0;
}
文章来源:https://blog.csdn.net/weixin_45055461/article/details/135466994
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!