📜  在std :: map中插入元素(插入,插入和运算符[])(1)

📅  最后修改于: 2023-12-03 15:07:56.478000             🧑  作者: Mango

在std :: map中插入元素(插入,插入和运算符[])

std::map是C ++ STL标准模板库中的一个关联容器,用于存储键值对映射。在实际应用中,我们可能需要在std::map中插入新的键值对。这个过程可以通过插入函数或插入运算符来完成。

插入函数

通过调用std::map的插入函数,我们可以向std::map中插入元素:

std::map<int, std::string> myMap;
myMap.insert(std::make_pair(1, "one"));

在上面的例子中,我们创建了一个std::map对象myMap,然后使用insert函数将键为1,值为"one"的元素插入到myMap中。

插入函数的另一种用法是,使用std::pair对象作为参数,将键值对插入到std::map中:

std::map<int, std::string> myMap;
std::pair<int, std::string> p(1, "one");
myMap.insert(p);

还可以使用emplace函数,不需要创建std::pair对象:

std::map<int, std::string> myMap;
myMap.emplace(1, "one");

注意:如果尝试将已经存在的键插入到std::map中,则此操作将被忽略。

插入运算符[]

另一种向std::map中插入元素的方法是使用[]运算符:

std::map<int, std::string> myMap;
myMap[1] = "one";

在上面的例子中,我们使用[]运算符将键为1,值为"one"的元素插入到myMap中。如果元素已经存在,则它的值将被更新。

但是,请注意,如果尝试使用[]运算符访问一个不存在的元素,则会默认将其插入到std::map中。

总结

无论使用插入函数还是插入运算符,都可以将键值对插入到std::map中。插入函数有多种用法,需要注意插入已经存在的键的情况。插入运算符可以用于插入新元素,也可以用于更新现有元素。