C++ STL中在map或multimap中插入元素
map 和 multimap 的大多数函数的用法类似,它们接受类似的参数,返回类型也类似。例如,要在
这两种容器中插入元素,都可使用成员函数 insert:
std::map<int, std::string> mapIntToStr1;
// insert pair of key and value using make_pair function
mapIntToStr.insert (make_pair (-1, “Minus One”));
鉴于这两种容器包含的元素都是键-值对,因此也可直接使用 std::pair 来指定要插入的键和值:
mapIntToStr.insert (pair <int, string>(1000, “One Thousand”));
另外,还可使用类似于数组的语法进行插入。这种方式对用户不太友好,是由下标运算符( [])支持的:
mapIntToStr [1000000] = “One Million”;
还可使用 map 来实例化 multimap:
std::multimap<int, std::string> mmapIntToStr(mapIntToStr.cbegin(),
mapIntToStr.cend());
程序清单 20.2 演示了各种插入元素的方式。
0: #include <map>
1: #include <iostream>
2: #include<string>
3:
4: using namespace std;
5:
6: // Type-define the map and multimap definition for easy readability
7: typedef map <int, string> MAP_INT_STRING;
8: typedef multimap <int, string> MMAP_INT_STR