《C++标准程序库》学习笔记5 — 第七章
- 1.(P252)
迭代器的分类及其能力:
input迭代器只能读取元素一次。如果复制input迭代器,并使原迭代器和新产生副本都向前读取,可能会遍历到不同的值。output迭代器类似。
- 2.(P258)
C++不允许修改任何基本类型(包括指针)的暂时值,但对于struct, class则允许。
所以:
1 2 |
|
也许会失败,这取决于vector的实作版本。
- 3.(P259)
C++标注库为迭代器提供的三个辅助函数
①. advance() 前进(或后退)多个元素
1 2 |
|
注:对于Bidirectional迭代器或Random Access迭代器,n可以为负值,表示后退
②. distance() 处理迭代器之间的距离
1 2 |
|
③. iter_swap() 可交换两个迭代器所指内容
1 2 |
|
注:不是交换迭代器!
- 4.(P264)
迭代器配接器之Reverse(逆向)迭代器
对于reverse iterator,他实际所指位置与逻辑所指位置并不一样:
eg.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
结果是:
pos: 5
rpos: 4
这是reverse iterator的内部机理图(*):
可以看出,[begin(), end() ) 和 [rbegin(), rend() )的区间是一样的!
base()函数可以将逆向迭代器转回正常迭代器
eg.
1 |
|
注:
1 |
|
可以将迭代器赋值给逆向迭代器从而隐式转换,而将逆向迭代器转换成普通迭代器则只能用base()函数。
这一块内容颇多,要认真把P264~P270看看。
- 5.(P271)
迭代器配接器之Insert(安插)迭代器
- 6.(P277)
迭代器配接器之Stream(流)迭代器
Osream流迭代器:
Istream流迭代器
综合性的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
转载于:https://www.cnblogs.com/tanky_woo/archive/2011/01/29/1947547.html
《C++标准程序库》学习笔记5 — 第七章相关推荐
- PMBOK(第六版) 学习笔记 ——《第七章 项目成本管理》
系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...
- 《自然语言处理(哈工大 关毅 64集视频)》学习笔记:第七章 句法分析技术
视频列表: 43 句法分析技术(一) 44 句法分析技术(二) 45 句法分析技术(三) 46 句法分析技术(四) 47 句法分析技术(五) 43 句法分析技术(一) 第七章 句法分析技术 什么是句法 ...
- 【OpenCV 学习笔记】第七章: 图像平滑处理
第七章: 图像平滑处理 1.什么是图像平滑处理 图像平滑处理就是,将图像中与 周围像素点的像素值差异较大的像素点 调整成 和周围像素点像素值 相近的值. 例如: 2.为什么要进行平滑处理? 因为图像在 ...
- CS231n 计算机视觉(学习笔记)第七章(0809)
第七章 7.1 Fancier optimization SGD存在问题: 在不同方向上抖动 局部极小值/鞍点 随机梯度,时间成本 Nesterov优化: 在SGD中加入一个动量(一个速度) 将梯度加 ...
- 【EasyRL学习笔记】第七章 深度Q网络进阶技巧(Double-DQN、Dueling-DQN、Noisy-DQN、Distributional-DQN、Rainbow-DQN)
文章目录 一.双深度Q网络(DDQN) 二.竞争深度Q网络(Dueling DQN) 三.优先级经验回放 四.在蒙特卡洛方法和时序差分方法中取得平衡 五.噪声深度Q网络(Noisy DQN) 六.分布 ...
- 深度学习Bible学习笔记:第七章 深度学习中的正则化
一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...
- 【操作系统】Oranges学习笔记(六) 第七章 输入/输出系统
文章目录 7.1 键盘 7.1.1 从中断开始──键盘初体验 7.1.2 AT.PS/2键盘 7.1.3 键盘敲击的过程 7.1.4 用数组表示扫描码 7.1.5 键盘输入缓冲区 7.1.6 用新加的 ...
- 郑捷《机器学习算法原理与编程实践》学习笔记(第七章 预测技术与哲学)7.1 线性系统的预测...
7.1.1 回归与现代预测 7.1.2 最小二乘法 7.1.3 代码实现 (1)导入数据 def loadDataSet(self,filename): #加载数据集X = [];Y = []fr = ...
- 【机器人工具箱学习笔记】第七章 机械臂运动学
函数库 import %装载 ETS2.* %二维空间 ETS3.* %三维空间 Rz() %绕z轴旋转 Tx() %沿着x轴平移 .fkine() %正运动学 .teach %示教 .structu ...
最新文章
- 数据库历险记(二) | Redis 和 Mecached 到底哪个好?
- LVS TUN模式搭建
- (转)如何在一台电脑上开启多个tomcat 和配置让系统识别哪个具体的tomcat
- mysql中sum (if),我可以在MySQL中将SUM()与IF()一起使用吗?
- 以太网实习_物联网通信硬件入门项目—光纤收发器(1)——实习内容,适用范围,技术及收益...
- 织梦dedecms如何对列表添加判断语句
- MCtalk对话学霸君:在线教育“1对多小班化”是个伪命题
- SpringBoot_入门-微服务简介
- PHP检查PEAR是否工作
- 团队开发git使用各种问题
- PP视频如何将默认缓存清晰度设置成超清
- 使用Vue2.x高效还原美团外卖项目
- java validate校验_自定义工具类实现validate参数校验
- Layer/jquery获取父窗口的元素
- zabbix使用SNMP监控思科无线控制器WLC
- fl studio mobile安卓,ios下载
- 连续两次入围Gartner魔力象限的Quick BI到底有何魔力?
- 软工网络15团队作业7——Alpha冲刺之事后诸葛亮
- vxworks培训笔记
- 智能家居项目(八)之树莓派+摄像头进行人脸识别