字号: 小 中 大 |
推荐给好友
上一篇 |
下一篇
STL实践指南
发布: 2007-6-15 17:30 |
作者: 网络转载 |
来源:
网络 |
查看: 107次 | 进入软件测试论坛讨论
领测软件测试网
'V/pG%t*G"`r)\&r+I{\
)gD(kos
J
p%G
:n,l-\"i_"J2w4fc
软件测试技术门户3|0boUIE^ Y游标(Iterator)
8o$wJ:x!|1z*b$Y_M
]q#}X8?t:`/y,T我说过游标是指针,但不仅仅是指针。游标和指针很像,功能很像指针,但是实际上,游标是通过重载一元的”*”和”->”来从容器中间接地返回一个值。将这些值存储在容器中并不是一个好主意,因为每当一个新值添加到容器中或者有一个值从容器中删除,这些值就会失效。在某种程度上,游标可以看作是句柄(handle)。通常情况下游标(iterator)的类型可以有所变化,这样容器也会有几种不同方式的转变:
|@r;lUiterator——对于除了vector以外的其他任何容器,你可以通过这种游标在一次操作中在容器中朝向前的方向走一步。这意味着对于这种游标你只能使用“++”操作符。而不能使用“--”或“+=”操作符。而对于vector这一种容器,你可以使用“+=”、“—”、“++”、“-=”中的任何一种操作符和“<”、“<=”、“>”、“>=”、“==”、“!=”等比较运算符。软件测试技术门户~E8^O3q.~
reverse_iterator ——如果你想用向后的方向而不是向前的方向的游标来遍历除vector之外的容器中的元素,你可以使用reverse_iterator 来反转遍历的方向,你还可以用rbegin()来代替begin(),用rend()代替end(),而此时的“++”操作符会朝向后的方向遍历。 软件测试技术门户5K?0`tz!N\z
const_iterator ——一个向前方向的游标,它返回一个常数值。你可以使用这种类型的游标来指向一个只读的值。软件测试技术门户g
qW%HWPU$t
const_reverse_iterator ——一个朝反方向遍历的游标,它返回一个常数值。软件测试技术门户