std::unordered_map std::pair
时间: 2024-05-19 07:08:55 浏览: 23
std::unordered_map是C++ STL库中的一个关联容器,它可以快速地将键值对存储到哈希表中,并支持快速的查找、插入、删除等操作。unordered_map中的键值对是无序的,并且键必须是唯一的。如果您需要一个有序的关联容器,可以使用std::map。
std::pair是一个模板类,可以用来存储两个不同类型的对象。std::pair可以用来存储一对数据,例如一个键和它对应的值,也可以用来作为函数返回值。通常情况下,std::pair用在STL容器中作为键值对进行存储。std::pair提供了两个公共成员变量first和second,分别表示第一个和第二个元素。
相关问题
std::unordered_map插入
std::unordered_map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。插入操作是向unordered_map中添加新的键值对。
要向std::unordered_map中插入元素,可以使用insert()函数或者[]操作符。下面是两种插入元素的方式:
1. 使用insert()函数:
```cpp
std::unordered_map<KeyType, ValueType> myMap;
myMap.insert(std::make_pair(key, value));
```
这里的KeyType是键的类型,ValueType是值的类型。通过std::make_pair()函数创建一个键值对,然后使用insert()函数将其插入到unordered_map中。
2. 使用[]操作符:
```cpp
std::unordered_map<KeyType, ValueType> myMap;
myMap[key] = value;
```
这种方式更简洁,直接使用[]操作符将键和值赋给unordered_map。
需要注意的是,如果插入的键已经存在于unordered_map中,那么插入操作将不会生效,即不会覆盖原有的值。
std::unordered_map
std::unordered_map是C++标准库中的一个关联容器,它可以存储一组键值对,并且支持快速的查找、插入和删除操作。
以下是一个使用std::unordered_map的示例代码:
```cpp
#include <unordered_map>
#include <iostream>
int main() {
std::unordered_map<int, std::string> umap;
// 插入键值对
umap.insert(std::make_pair(1, "apple"));
umap.insert(std::make_pair(2, "banana"));
umap.insert(std::make_pair(3, "orange"));
// 查找键值对
int key = 2;
auto it = umap.find(key);
if (it != umap.end()) {
std::cout << "Key " << key << " found, value is " << it->second << std::endl;
} else {
std::cout << "Key " << key << " not found" << std::endl;
}
// 删除键值对
umap.erase(3);
// 遍历键值对
for (const auto& pair : umap) {
std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;
}
return 0;
}
```
这段代码创建了一个std::unordered_map对象umap,插入了三个键值对,然后通过find函数查找指定的键值对,最后删除了一个键值对,并遍历输出了所有的键值对。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)