map find的使用
时间: 2024-05-13 17:16:24 浏览: 62
在 C++ 中,`std::map` 是一个非常常用的关联容器,它提供了一种将键和值进行映射的方法。`find` 是 `std::map` 提供的一个成员函数,用于在容器中查找给定键的位置。
`find` 函数的语法如下:
```c++
iterator find (const key_type& k);
const_iterator find (const key_type& k) const;
```
其中,`k` 是要查找的键值,返回值是一个迭代器,指向键值等于 `k` 的元素,如果没找到则返回 `end()`。
下面是一个简单的例子,展示了如何使用 `find` 函数:
```c++
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> mymap = {{1, "apple"}, {2, "banana"}, {3, "orange"}};
auto it = mymap.find(2);
if (it != mymap.end()) {
std::cout << "Found " << it->second << " at position " << it->first << '\n';
} else {
std::cout << "Not found\n";
}
return 0;
}
```
输出结果为:
```
Found banana at position 2
```
在这个例子中,我们首先创建了一个 `std::map` 对象 `mymap`,其中包含三个键值对。然后,我们调用 `find` 函数查找键值为 2 的元素,返回一个迭代器 `it`,指向这个键值对应的元素。最后,我们通过访问迭代器的 `second` 和 `first` 成员来输出元素的值和键。如果查找不到,便输出 "Not found"。
阅读全文