std::map的find函数
时间: 2023-07-20 18:23:54 浏览: 117
`std::map` 的 `find` 函数用于在 `map` 容器中查找指定键所对应的迭代器。其函数原型如下:
```c++
iterator find( const Key& key );
const_iterator find( const Key& key ) const;
```
其中,`key` 为要查找的键值。
如果在 `map` 容器中找到了给定的键值,则返回指向该键值所对应元素的迭代器;否则,返回指向 `map` 容器末尾元素的迭代器,即 `map::end()`。
下面是一个使用 `std::map` 的 `find` 函数的示例:
```c++
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> myMap = {
{"apple", 1},
{"banana", 2},
{"orange", 3}
};
auto it = myMap.find("banana");
if (it != myMap.end()) {
std::cout << "Found " << it->first << " with value " << it->second << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
return 0;
}
```
在上面的示例中,我们首先定义了一个 `std::map` 容器 `myMap`,它存储了若干个键值对。然后,我们使用 `find` 函数查找键为 "banana" 的元素,并将其返回的迭代器存储在变量 `it` 中。最后,我们判断 `it` 是否等于 `myMap.end()`,如果不是,则输出找到的元素的键和值。
阅读全文