map和set是一个关联容器,不仅仅是存储数据还能查找数据,存储的数据和数据之间关联很强
目录
map的几种构造:
map是一个模板类,在这个模板中有key,T类型的对象,key,T的类型需要自己自定义。key与T有着一个映射关系的存在。
第十行的insert插入了一个pair,pair是一个类模板,map需要传的类型直接在pair中组合了起来,所以在第十一行我们传入了pair定义的一个对象
除此之外,map还支持{}的多参数的隐式转换,这里发生了隐式转换的原因就是因为函数传参,函数传参很容易发生隐式转换,make_pair是一个函数模板,第十五行是显示调用make_pair构造pair插入
map支持operator[]:
map中的[]并不是支持下标,而是key。
还需要知道map是不支持数据冗余的,如果插入相同的数据会插入失败,【】和insert的插入失败的结果有所不同,【】的插入相同的数据会直接覆盖之前的数据插入,而insert是直接不能插入,可以用pair来进行验证,pair的第二个变量返回的是一个map的迭代器,插入失败会返回false,成功会返回true
map中用【】也能查找,如果查找的key不存在,则会直接插入