C++中map获取值
时间: 2025-01-22 08:03:30 浏览: 53
### C++ 中从 `map` 获取值的方法
在 C++ 中,可以从 `map` 容器中通过键来获取对应的值。以下是几种常用的方法:
#### 使用下标运算符
可以直接使用方括号操作符访问指定键的值。如果该键不存在,则会创建一个新的默认初始化的元素。
```cpp
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, string> myMap;
myMap[1] = "Apple";
myMap[2] = "Banana";
// 访问已存在的键
cout << "Key 1 has value: " << myMap[1] << endl;
// 尝试访问不存在的键将会插入新项并返回其默认构造的值
cout << "Key 3 (new entry): " << myMap[3] << endl;
return 0;
}
```
这种方法简单易用但是当尝试读取不存在的关键字时可能会改变容器的内容[^2]。
#### 使用 `at()` 函数
相比于简单的索引方式,`at()` 提供了一种更安全的方式来检索元素。它会在找不到给定键的情况下抛出异常而不是静默地插入新的条目。
```cpp
try{
string fruit = myMap.at(2);
}catch(out_of_range& e){
cerr<<"Error: Key not found."<<endl;
}
```
此方法适合那些希望严格控制程序行为的应用场景,在遇到非法输入时能够及时做出响应。
#### 利用迭代器遍历所有元素
对于想要一次性取得整个映射表内全部关联关系的情况可以考虑采用循环配合迭代器完成任务。
```cpp
for(auto const& pair : myMap){
cout << "{" << pair.first << ": " << pair.second << "}\n";
}
```
上述代码片段展示了如何优雅地打印出每一个 key-value 对应关系而无需担心越界等问题的发生[^1]。
阅读全文
相关推荐


















