Skip to Main Content
C++程序设计语言(第4部分:标准库)(原书第4版)
book

C++程序设计语言(第4部分:标准库)(原书第4版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced content levelIntermediate to advanced
450 pages
6h 57m
Chinese
Pearson
Content preview from C++程序设计语言(第4部分:标准库)(原书第4版)

33.1 引言

本章介绍STL迭代器及相关工具,特别是标准库函数对象。STL包含标准库中的迭代器、容器、算法和函数对象几个部分。STL的其他内容在第31章和第32章介绍。

迭代器是标准库算法和所操作的数据间的黏合剂。反过来,也可以说迭代器机制是为了最小化算法与所操作的数据结构间的依赖性:

33.1.1 迭代器模型

与指针类似,迭代器提供了间接访问的操作(如解引用操作*)和移动到新元素的操作(例如,++操作移动到下一个元素)。一对迭代器定义一个半开区间[begin:end),即所谓序列(sequence):

即,begin指向序列的首元素,end指向序列尾元素之后的位置。永远也不要从*end读取数据,也不要向它写入数据。注意,空序列满足begin==end;即,对任意迭代器p都有[p:p)是空序列。

为了读取一个序列,算法通常接受一对表示半开区间[begin:end)的迭代器(b,e),并使用++遍历序列直至到达末尾:

我用!=而不是<判断是否到达序列尾,部分原因是这更为精确,还有部分原因是只有随机访问迭代器才支持<。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java并发编程实战

Java并发编程实战

Brian Goetz, Tim Peierls
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
可编程网络自动化

可编程网络自动化

Jason Edelman, Scott S. Lowe, Matt Oswalt

Publisher Resources

ISBN: 9787111544395