前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++primer学习笔记(四)

C++primer学习笔记(四)

作者头像
震八方紫面昆仑侠
发布2020-07-23 00:08:50
3760
发布2020-07-23 00:08:50
举报
  • 容器操作函数find(begin, end, val) 返回值是迭代器,没找到返回end。
  • 容器类型和元素类型都相同,可以用赋值vec1=vec2。容器类型不同或元素类型不同,但是兼容可以用assign函数来赋值。
  • vector容器中的元素以连续的方式存放【动态数组】。有预先分配策略,需要重新分配时加倍当前容量。capacity函数获取目前能够存储的元素总数,reserve函数设置capacity。
  • string中的字符也是连续存储的,也有迭代器string::iterator。string类将string::npos定义为保证大于任何有效下标的值。
  • 本质上,适配器是使一事物的行为类似于另一事物的行为的一种机制。stack queue priority_queue
  • pair类型:pair<T1, T2> p1;p1.first p1.second 。makepair函数可以创建pair对象。vector<pair<int, int> >如果需要多个pair可以放在一个vector中。
  • set中元素不重复,相当于只有键没有值。map的函数大部分都有对应的。
  • 关联容器:容器元素根据键的次序排列。
  • map可以理解为关联数组,键就是下标。
  • map可以用迭代器遍历,按键排序。使用map的insert函数可以避免使用下标操作的副作用:不必要的初始化【如果key已经在map中则map保持不变,避免了初始化】
  • 带有pair形参的insert版本返回一个迭代器和一个bool值的pair对象。map.count(k)返回k出现的次数。map.find(k)若k存在返回迭代器。map的erase返回void。
  • multimap相同键对应的元素必定相邻存放。multimap.lower_bound(k)指向键不小于k的第一个元素,upper_bound(k)。equal_range(k)返回pair代表上下限。
  • 泛型算法:find函数基于迭代器,不同容器可使用相同find。算法从不添加和删除容器元素。it=find_first_of(it,...)可用于多种容器。
  • accumulate(..)累加 fill写入元素 back_insert插入迭代器能达到push_back的效果 copy replace_copy sort unique count_if 谓词是检测函数。
  • 流迭代器:访问特定类型的输入 istream_iterator<int> cin_it(cin) 反向迭代器:reverse_iterator
  • const_iterator用于指定范围的迭代器必要类型一致。容器返回的迭代器是否const取决于容器元素是否const。
  • map set list提供的是双向迭代器。string vector deque提供的是随机访问迭代器【sort函数需要随机迭代器】。istream_iterator是输入迭代器,ostream_iterator是输出迭代器。
  • 对于list对象应该优先使用list容器特有的成员版本【能添加删除元素】,而不是泛型算法。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL从删库到跑路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档