c++中如何修改map的value值
时间: 2024-05-09 08:15:50 浏览: 8
在 C++ 中,可以使用 map 的迭代器来修改其 value 值。假设有一个名为 `myMap` 的 map,其 key 类型为 `int`,value 类型为 `string`,需要修改 key 为 1 的 value 值,可以按照如下方式实现:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, string> myMap{{1, "hello"}, {2, "world"}};
auto itr = myMap.find(1); // 查找 key 为 1 的迭代器
if (itr != myMap.end()) { // 判断是否找到
itr->second = "hi"; // 修改 value 值
}
for (auto& [key, val] : myMap) { // 遍历输出
cout << key << ": " << val << endl;
}
return 0;
}
```
输出结果为:
```
1: hi
2: world
```
在上述代码中,使用 `myMap.find(1)` 函数查找 key 为 1 的迭代器,如果找到了,则可以通过 `itr->second` 来修改其 value 值,即 `itr` 是一个指向 key-value 对的迭代器,`itr->first` 表示 key,`itr->second` 表示 value。