STL之Input & Output Iterator

来源:互联网 发布:linux下zip版本 编辑:程序博客网 时间:2024/05/19 04:05
1         输入迭代器(input iterator)——用于读取容器中的信息,但不一定能够修改它。


n         输入迭代器iter通过解除引用(即*iter),来读取容器中其所指向元素之值;


n         为了使输入迭代器能够访问容器中的所有元素的值,必须使其支持(前/后缀格式的)++ 操作符;


n         输入迭代器不能保证第二次遍历容器时,顺序不变;也不能保证其递增后,先前指向的值不变。即,基于输入迭代器的任何算法,都应该是单通(single-pass)的,不依赖于前一次遍历时的值,也不依赖于本次遍历中前面的值。


可见输入迭代器是一种单向的只读迭代器,可以递增但是不能递减,而且只能读不能写。适用于单通只读型算法。



2         输出迭代器(output iterator)——用于将信息传输给容器(修改容器中元素的值),但是不能读取。例如,显示器就是只能写不能读的设备,可用输出容器来表示它。也支持解除引用和++操作,也是单通的。所以,输出迭代器适用于单通只写型算法。


0 0
原创粉丝点击