1、map 的键必须支持<操作
2、对迭代器进行解引用将获得一个 pair 对象,它的 first 成员存放键,为 const,而 second 成员则存放值。
3、使用下标访问 map 与使用下标访问数组或 vector 的行为截然不同:用下标访问不存在的元素将导致在 map 容器中添加一个新元素,它的键即为该下标值。简而言之:对于 map 容器,如果下标所表示的键在容器中不存在,则添加新元素,这一特性可使程序惊人地简练:
1: // count number of times each word occurs in the input
2: map<string, int> word_count; // empty map from string to int3: string word;
4: while (cin >> word)
5: ++word_count[word];
但是这一特性对使用下标访问map中的元素时造成了麻烦:map 容器提供了两个操作:count 和 find,用于检查某个键是否存在而不会插入该键。
set键值均是不能重复的,同时是const的,所以set中的元素不能修改
multiset和multimap均是连续存储相同键值;lower_bound();upper_bound();equal_bound()