C++ 标准库 - <map>

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:判断键是否存在。