std::map添加元素
时间: 2023-07-20 16:10:45 浏览: 122
在 std::map 中,添加元素通常使用其成员函数 insert() 来实现。该函数接受一个 std::pair 类型的参数,其中包含要添加的键值对。例如:
```
std::map<int, std::string> myMap;
myMap.insert(std::pair<int, std::string>(1, "one"));
myMap.insert(std::pair<int, std::string>(2, "two"));
myMap.insert(std::pair<int, std::string>(3, "three"));
```
上面的代码创建了一个 std::map 对象 myMap,并且插入了三个键值对。可以看到,我们使用 std::pair 类型来指定要添加的键值对,其中第一个元素是键,第二个元素是值。也可以使用 C++11 的列表初始化语法来简化插入操作,例如:
```
std::map<int, std::string> myMap = {{1, "one"}, {2, "two"}, {3, "three"}};
```
这样就可以直接使用大括号来初始化 map 了。如果要插入单个元素,可以使用 insert() 函数的另一种形式,例如:
```
myMap.insert(std::make_pair(4, "four"));
```
这样就可以将键值对 {4, "four"} 插入到 myMap 中。如果要插入多个元素,也可以使用 insert() 函数的另一种形式,将一个迭代器区间作为参数,例如:
```
std::vector<std::pair<int, std::string>> vec = {{4, "four"}, {5, "five"}, {6, "six"}};
myMap.insert(vec.begin(), vec.end());
```
这样就可以将 vec 中的元素插入到 myMap 中。需要注意的是,插入操作会自动按照键值进行排序,并且如果键值已经存在,则插入操作会失败。
阅读全文