map inster
时间: 2024-03-20 11:37:29 浏览: 54
map是C++标准库中的一个关联容器,它提供了一种键值对的映射关系。map中的每个元素都包含一个键和一个值,通过键可以快速查找对应的值。insert是map容器的一个成员函数,用于向map中插入新的键值对。
insert函数有多种重载形式,常用的有以下两种:
1. insert(pair<key_type, value_type>);:将一个键值对插入到map中。例如:
```cpp
std::map<int, std::string> myMap;
myMap.insert(std::pair<int, std::string>(1, "apple"));
```
这样就将键1和值"apple"插入到了myMap中。
2. insert(iterator, pair<key_type, value_type>);:在指定位置之前插入一个键值对。例如:
```cpp
std::map<int, std::string> myMap;
std::map<int, std::string>::iterator it = myMap.begin();
myMap.insert(it, std::pair<int, std::string>(1, "apple"));
```
这样就将键1和值"apple"插入到了myMap的begin()位置之前。
需要注意的是,如果插入的键已经存在于map中,则insert函数不会插入新的键值对,而是返回一个指向已存在元素的迭代器。
另外,还可以使用下标操作符[]来插入键值对,如果键已经存在,则会更新对应的值。例如:
```cpp
std::map<int, std::string> myMap;
myMap[1] = "apple";
```
这样就将键1和值"apple"插入到了myMap中。
需要注意的是,使用insert函数插入键值对时,map会根据键的大小自动进行排序,而使用下标操作符插入键值对时,不会进行排序。
阅读全文