unordered_map.fing
时间: 2023-10-20 15:33:11 浏览: 43
unordered_map.find 是 C++ 中用于在无序映射(unordered_map)中查找特定键的函数。它的语法如下:
```cpp
iterator unordered_map::find(const key_type& key);
```
它接受一个参数 key,表示要查找的键的值,并返回一个迭代器,指向该键在无序映射中的位置。如果键不存在,则返回一个指向无序映射末尾的迭代器(即 unordered_map::end())。
请注意,这里的 iterator 表示一个指向 unordered_map 中某个键值对的迭代器,可以用来访问该键值对的键和值。
相关问题
unordered_map.insert
unordered_map.insert是C++标准库中unordered_map容器的一个成员函数,用于向unordered_map中插入元素。它有多个重载版本,可以插入单个元素或者一组元素。
1. 插入单个元素:
```cpp
unordered_map<Key, T> myMap;
myMap.insert(make_pair(key, value));
```
这里的key是要插入的元素的键,value是对应的值。使用make_pair函数将键和值组合成一个pair对象,然后调用insert函数将该pair对象插入到unordered_map中。
2. 插入一组元素:
```cpp
unordered_map<Key, T> myMap;
myMap.insert({{key1, value1}, {key2, value2}, ...});
```
这里的key1、value1、key2、value2等分别是要插入的元素的键和值。使用花括号初始化列表将多个键值对组合起来,然后调用insert函数将这些键值对插入到unordered_map中。
注意,如果要插入的键已经存在于unordered_map中,则insert函数不会插入新的元素,而是返回一个pair对象,其中的第一个成员指向已存在的元素,第二个成员为false。
unordered_map.emplace
unordered_map的emplace方法用于向unordered_map中插入一个元素。它接受一个可变参数模板参数列表,用于构造键值对的键和值。如果unordered_map中已经存在相同的关键字,则插入操作会失败。
以下是一个使用emplace方法向unordered_map插入元素的示例代码:
```cpp
#include <unordered_map>
#include <iostream>
int main() {
std::unordered_map<std::string, int> my_map;
// 使用emplace方法插入元素
my_map.emplace("foo", 42);
my_map.emplace("bar", 99);
// 输出元素
std::cout << "foo: " << my_map["foo"] << std::endl;
std::cout << "bar: " << my_map["bar"] << std::endl;
return 0;
}
```
运行以上代码,输出结果为:
```
foo: 42
bar: 99
```
这段代码使用emplace方法向unordered_map中插入了两个键值对,然后通过键访问对应的值并输出。