C++ std::map::insert 插入一对键值。若键已存在,原值保持不变,这与 m[k] = v 会覆盖不同。
原型
pair<iterator, bool> insert(const value_type& v);参数
- 实参常为
{key, value}。返回值的bool表示是否真正插入。
返回值
pair:迭代器指向该键,以及是否新插入。
示例
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> m;
m.insert({"Ada", 95});
m.insert({"Ada", 80});
std::cout << m.at("Ada") << "\n";
return 0;
}输出:
95
注意事项
第二次插入同一键会被忽略,分数仍是 95。要覆盖请用 [] 或 insert_or_assign(C++17)。
下一页介绍count:判断键是否存在。