STLRecipe---map

map对象

map<K,T>类模板定义在map文件头中,它定义了一个保存T 类型对象的 map,每个 T类型的对象都有一个关联的K类型的键。容器内对象的位置是通过比较键决定的。可以用适当的键值从map容器中检索对象。

  • 创建map
std::map<std::string, size_t> people;
std::map<std::string, size_t> people{{"Ann", 25}, {"Bill", 46},{"Jack", 32},{"Jill", 32}};
  1. utility 头文件中定义了 make_pair < T1,T2 >()函数模板,它提供了一种组合 T1T2类型对象的简单方法。因此,可以按如下方式创建 pair 对象来初始化 map:
std::map<std::string,size_t> people{std::make_pair("Ann",25),std::make_pair("Bill", 46),std::make_pair("Jack", 32),std::make_pair("Jill", 32)};

  1. 复制现有的容器:
std::map<std::string, size_t> personnel {people}; // Duplicate people map
  1. 用另一个容器的一段元素来创建一个 map
std::map<std::string, size_t> personnel {std::begin(people),std::end(people)};
std::map<std::string,size_t> personnel {++std::begin(people),std::end(people)};
  • map插入数据
    map<K,T>容器的成员函数insert()有多个版本,它们可以在 map 中插入一个或多个 pair<const K,T> 对象。只能插入map中不存在的元素。
std::map<std:: string,size_t> people {std::make_pair ("Ann",25),std::make_pair("Bill",46) , std::make_pair ("Jack",32), std::make_pair("Jill",32)};
auto pr = std::make_pair("Fred",22); //Create a pair element and insert it
auto ret_pr = people.insert(pr);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容