使用关联容器
map
- 虽然是关联容器,但仍然是有序存储的,也就是说关键字的类型必须有比较运算,当然可以自定义.
- map使用下标运算会创建关键字,而使用at方法不会,所以下标运算只能对非const的map使用
- map的迭代器指向它的value_type,是一个pair
- 向map添加元素时,类型也必须是pair
- insert的返回值也是一个pair,first是一个迭代器,指向插入的那个元素,second是一个bool
set
如何自定义关键字严格弱续
mutiset<Sales_data, decltype(compareIsbn)*>
bookstore(compareIsbn);
一些Tips
- 关联容器的迭代器都是双向的
- 我们通常不对关联容器使用泛型算法,因为关键字总是const的
- 如果一个multimap multiset中有多个元素具有相同关键字,则这些元素在容器中会相邻存储。