map 容器是一个键值对 key-value 的映射。是一颗以 key 为关键码的红黑树。
- size / empty / clear / begin / end
- “ 双向访问迭代器 ”。对 map 的迭代器解除引用得到二元组 pair<key_type, value_type>
- insert / erase
insert 的参数是 pair<key_type, value_type>, erase 的参数可以是 key 或者迭代器。
- find : find(x)
- [ ] 操作符
若查找的 key 不存在,则执行 h[key] 后,会自动新建一个二元组 (key, zero),并返回 zero 的引用。
如果查找之后不对 h[key] 进行赋值,那么时间一长,h 会包含很多无用的 “ 零值二元组 ”,拜拜地占用了空间,降低了程序运行效率。
强烈建议在用 [ ] 操作符查询之前,先用 find 方法检查 key 的存在性。