map容器find
时间: 2025-04-06 10:09:28 浏览: 14
`map::find` 是 C++ 标准库中 `std::map` 容器的一个成员函数,用于查找指定键是否存在,并返回指向该键值对的迭代器。如果找不到对应的键,则返回 `map.end()`。
以下是有关 `map::find` 的详细介绍:
### 基本语法
```cpp
iterator find(const key_type& k);
const_iterator find(const key_type& k) const;
```
- 如果是在非常量环境中调用,则返回的是 `iterator` 类型;
- 如果是在常量环境中调用,则返回的是 `const_iterator` 类型;
### 参数说明
- **k** : 要搜索的关键字 (key)
### 返回值
- 如果找到关键字 `k` 对应的元素,则返回指向此元素的迭代器;
- 若未找到对应关键字,则返回 `map.end()`, 表示超出当前映射的有效范围。
#### 示例代码:
```cpp
#include <iostream>
#include <map>
int main(){
std::map<int, std::string> myMap = { {1,"apple"},{2,"banana"},{3,"orange"} };
auto it = myMap.find(2); // 查找键为2的元素
if(it != myMap.end()){
std::cout << "Found: " << it->second << '\n'; // 输出"Found: banana"
} else {
std::cout << "Not found\n";
}
}
```
通过上述例子可以看出当我们尝试寻找存在的键如“2”时可以成功获取到关联的字符串值,“banana”。而如果我们试着去查询不存在的键则会进入else分支输出"Not found".
阅读全文
相关推荐


















