【primer 】chapter 10 Associative container

本文详细介绍了C++标准模板库(STL)中的map和set容器的特点与使用方法,包括键值对的存储方式、如何通过迭代器访问元素、以及set容器的特点等。此外还探讨了使用下标访问元素时的注意事项。

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 容器提供了两个操作:countfind,用于检查某个键是否存在而不会插入该键。

set键值均是不能重复的,同时是const的,所以set中的元素不能修改

multiset和multimap均是连续存储相同键值;lower_bound();upper_bound();equal_bound()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值