c++6.0中unordered_map怎么写
时间: 2023-06-30 10:13:11 浏览: 68
在 C++11 及以上版本中,可以使用以下语法来声明和初始化一个 unordered_map:
```c++
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, int> myMap = {
{"apple", 1},
{"banana", 2},
{"orange", 3}
};
// 在 unordered_map 中插入元素的方法
myMap.insert({"pear", 4});
// 在 unordered_map 中查找元素的方法
auto it = myMap.find("banana");
if (it != myMap.end()) {
std::cout << "The value of banana is " << it->second << std::endl;
}
return 0;
}
```
在这个例子中,我们首先声明一个 unordered_map 对象,其中键是字符串,值是整型。然后我们使用大括号语法来初始化这个 unordered_map,使用 insert() 方法来插入一个新的键值对,使用 find() 方法来查找一个键对应的值。
相关问题
C++中,unordered_map和hash_map
在C++中,unordered_map和hash_map都是用于实现哈希表的容器,用于存储键值对。它们的主要区别在于实现方式和标准支持。
unordered_map是C++11引入的标准库容器,使用哈希表实现。它提供了快速的查找、插入和删除操作,平均时间复杂度为O(1)。unordered_map中的元素是无序的,不会按照插入顺序或者键的大小进行排序。
hash_map是一种非标准的容器,它也使用哈希表实现。hash_map在C++11之前被一些编译器提供,但不是所有编译器都支持。C++11之后,推荐使用unordered_map代替hash_map。
总结一下:
unordered_map:
- 标准库容器,C++11引入
- 使用哈希表实现
- 提供快速的查找、插入和删除操作
- 元素无序
hash_map:
- 非标准容器
- 使用哈希表实现
- 不是所有编译器都支持
- C++11之后推荐使用unordered_map代替
c++中的unordered_map
引用中提到,C++中的unordered_map是一种关联容器,它将键值对存储在哈希表中。在unordered_map中,元素的取值可以通过at和[]两种操作来进行。使用at操作可以获取指定键的值,使用[]操作可以获取指定键的值,并且如果该键不存在,则会插入一个默认值并返回它。另外,在unordered_map中还可以进行容量查询、删除操作和查找操作。
容量查询方面,可以使用empty()函数查询unordered_map是否为空,使用size()函数查询unordered_map中键值对的数量,使用max_size()函数查询unordered_map所能包含的最大键值对数量,使用count()函数查询关键字为key的元素的个数。
删除操作方面,可以使用erase()函数删除一个迭代器指向的键值对,也可以使用erase()函数删除一定范围内的元素,还可以使用erase()函数根据键来进行删除。另外,可以使用clear()函数清空unordered_map。
查找操作方面,可以使用find()函数根据关键字查询元素,如果找到则返回指向该关键字的迭代器,否则返回指向end的迭代器。
综上所述,C++中的unordered_map是一种关联容器,可以通过at和[]操作获取元素的值,可以进行容量查询、删除操作和查找操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)