STL multimap更新元素

STL multimap更新元素教程

STL 中的 multimap 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只能通过迭代器遍历得到元素之后,再次修改其值。

案例

multimap更新元素值

通过遍历得到元素之后,修改元素的值

#include <iostream> #include <map> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; std::multimap<int, string> mymultimap{{1, "Mon"},{2, "Thu"}, {3, "Wed"}}; for(auto iter = mymultimap.begin(); iter != mymultimap.end(); iter++) { if (iter->second == "Mon") { iter->second = "mon"; } } for(auto iter = mymultimap.begin(); iter != mymultimap.end(); iter++) { cout << iter->first << " " << iter->second << endl; } return 0; }

因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:

g++ multimap.cpp -std=c++11

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

34_STL multimap修改元素.png

我们看到,我们将 multimap 中键为 1 的元素的值修改为了 mon。

STL multimap更新元素总结

STL 中的 multimap 元素的键是不可以修改的,但我们可以根据键修改对应的元素的值,要修改键对应的元素的值,只能通过迭代器遍历得到元素之后,再次修改其值。