STL 中的 unordered_map 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只需要使用下标方式即可。
unordered_map[key] = value
参数 | 描述 |
---|---|
key | 需要查找的键。 |
将 unordered_map 的键 key 对应的元素值修改为 value,如果键不存在,则会插入。
使用下标的方式更新元素值
#include <iostream>
#include <unordered_map>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
std::unordered_map<int, string> myunordered_map{{1, "Mon"},{2, "Thu"}, {3, "Wed"}};
for(auto iter = myunordered_map.begin(); iter != myunordered_map.end(); iter++)
{
cout << iter->first << " " << iter->second << endl;
}
cout << "================================================\n";
myunordered_map[1] = "mon";
for(auto iter = myunordered_map.begin(); iter != myunordered_map.end(); iter++)
{
cout << iter->first << " " << iter->second << endl;
}
return 0;
}
因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:
g++ unordered_map.cpp -std=c++11
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们看到,我们将 unordered_map 中键为 1 的元素的值修改为了 mon。
STL 中的 unordered_map 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只需要使用下标方式即可。