【primer 】chapter 10 Associative container

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 int
  3:      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()

你可能感兴趣的:(vector,String,存储,input,each,pair)