📅  最后修改于: 2023-12-03 15:07:56.478000             🧑  作者: Mango
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
中。插入函数有多种用法,需要注意插入已经存在的键的情况。插入运算符可以用于插入新元素,也可以用于更新现有元素。