unordered_map构造函数
时间: 2023-11-06 18:05:19 浏览: 94
unordered_map有多个构造函数,其中比较重要的有以下几种:
1. 默认构造函数:
```cpp
std::unordered_map<Key, T> myMap;
```
创建一个空的unordered_map对象,键的类型为Key,值的类型为T。
2. 初始桶数和哈希函数构造函数:
```cpp
std::unordered_map<Key, T, Hash> myMap(size_t n, const Hash& hashFunc);
```
创建一个空的unordered_map对象,键的类型为Key,值的类型为T。这个构造函数会将unordered_map初始的桶数设置为n,并使用提供的哈希函数hashFunc。
需要注意的是,在使用std::unordered_map之前,需要包含头文件#include <unordered_map>。
相关问题
unordered_map的构造函数
unordered_map的构造函数有多种重载形式,以下是其中一些常用的构造函数:
1. 默认构造函数:创建一个空的unordered_map。
```cpp
std::unordered_map<Key, T> myMap;
```
2. 初始化列表构造函数:使用初始化列表初始化unordered_map。
```cpp
std::unordered_map<Key, T> myMap = {{key1, value1}, {key2, value2}, ...};
```
3. 范围构造函数:使用指定范围内的元素初始化unordered_map。
```cpp
std::unordered_map<Key, T> myMap(otherMap.begin(), otherMap.end());
```
4. 复制构造函数:使用另一个unordered_map进行复制构造。
```cpp
std::unordered_map<Key, T> myMap(otherMap);
```
5. 移动构造函数:使用另一个unordered_map进行移动构造,转移其所有权。
```cpp
std::unordered_map<Key, T> myMap(std::move(otherMap));
```
这些只是一些常用的构造函数示例,unordered_map还有其他重载形式。你可以根据自己的需求选择适合的构造函数来创建和初始化unordered_map对象。
unordered_map成员函数
unordered_map是C++中的一个容器,它提供了一组成员函数来操作和管理无序映射表。以下是一些常见的unordered_map成员函数:
1. 插入元素:
- insert():向unordered_map中插入一个元素或一对键值对。
- emplace():在unordered_map中构造和插入一个元素或一对键值对。
2. 删除元素:
- erase():从unordered_map中删除指定位置的一个或多个元素。
- clear():清除unordered_map中的所有元素。
3. 访问元素:
- at():访问指定键对应的值,如果不存在则抛出异常。
- operator[]:访问指定键对应的值,如果不存在则插入新元素并返回默认值。
- find():查找指定键对应的迭代器,如果不存在则返回end()迭代器。
4. 容量和状态:
- size():返回unordered_map中的元素数量。
- empty():检查unordered_map是否为空。
5. 迭代器操作:
- begin():返回指向unordered_map起始位置的迭代器。
- end():返回指向unordered_map末尾位置的迭代器。
这些只是unordered_map提供的部分成员函数,还有其他函数可以用于遍历、比较、交换等操作。你可以根据具体需求选择适合的函数来使用unordered_map。
阅读全文