C++ unordered_map函数集合
时间: 2025-06-29 17:03:57 浏览: 15
### C++ `unordered_map` 函数列表及使用方法
#### 构造函数
创建一个新的 `unordered_map` 对象,可以通过默认构造函数或带有参数的构造函数初始化。
```cpp
std::unordered_map<Key, T> umap;
```
#### 插入元素
向 `unordered_map` 中插入新元素的方法有多种:
- 使用 `insert()` 方法:
```cpp
umap.insert(std::make_pair(key, value));
```
- 或者利用下标运算符直接赋值:
```cpp
umap[key] = value;
```
这两种方式都可以用来添加新的键值对到容器中[^1]。
#### 查找元素
为了查找已存在的键对应的值,可以采用如下几种手段之一:
- 调用 `find()` 来获取迭代器指向匹配项的位置;如果找不到则返回 end 迭代器。
```cpp
auto it = umap.find(some_key);
if(it != umap.end()){
// 找到了some_key对应的数据
}
```
- 利用 `count()` 检查某个特定键是否存在(返回0表示不存在,非零即存在)。
```cpp
bool exists = umap.count(another_key) > 0;
```
上述两种方法均适用于高效检索数据[^3]。
#### 删除元素
当不再需要某些条目时,可通过下面的方式移除它们:
- 单独删除指定键所关联的一组键值对:
```cpp
size_t erased = umap.erase(a_specific_key); // 返回被删掉的数量
```
- 清空整个表内全部记录:
```cpp
umap.clear();
```
以上命令会释放所有占用资源并使大小变为零。
#### 遍历集合
遍历 `unordered_map` 可以通过范围for循环轻松实现:
```cpp
for(auto& elem : umap){
cout << "Key:" << elem.first << ", Value:"<<elem.second<<endl;
}
```
此代码片段展示了如何逐一访问每一对键及其相应的值[^2]。
#### 获取统计信息
有时可能想要知道当前存储了多少个项目以及最大容量是多少:
- 查询实际尺寸:
```cpp
size_t current_size = umap.size();
```
- 探究理论上的极限容纳量:
```cpp
size_t max_capacity = umap.max_size();
```
这两个属性提供了关于内存管理和性能优化的重要线索[^4]。
阅读全文
相关推荐


















