1. 使用下标访问map中不存在的元素,将会使map容器中被加入一个新的pair,他的键即为该下标。
2. map的迭代器返回的是value_type类型的值,它是一个包含一个const的key_type类型成员和一个mapped_type类型成员的pair对象;而map的下标操作符则返回一个mapped_type类型的值。
3. 使用下标操作符可以读取map容器中的值,但是该操作存在一个很危险的副作用:若作为下标的键值不在该map容器中,那么此操作会插入一个具有该键的新元素。map容器提供了两个操作用于检查某个键是否存在而不会插入该键:map.count(k)方法,返回map中k的出现次数;以及find()方法,返回指向键为k的元素的迭代器,若k不存在则返回end迭代器。
4. multimap和multiset与map和set一样,元素都是按顺序存储的。在multimap、multiset中,如果某个键对应多个实例,则这些实例在容器中相邻存放。在同一个键上调用lower_bound和upper_bound将产生一个迭代器范围,指示出该键所关联的所有元素。