【发布时间】:2020-10-15 19:06:34
【问题描述】:
我目前正在学习迭代器类型,但有些东西我完全不明白。首先,据我了解,迭代器类型是类指针类型,这意味着它们可以指向容器中的任何元素,也可以执行算术运算(如指针)。似乎随机访问迭代器类型支持不等式关系运算符,我认为这意味着我们可以比较两个迭代器(不管这意味着什么,如果有人能对此有所了解的话)。但是为什么我们不能对正向和双向迭代器类型这样做呢?我的意思是,相等运算符为他们定义得很好。通过不等式关系运算符,我的意思是以下运算符<=, <, >, >=。
编辑:我没有具体的例子,但我在cplusplus.com 上看到过这个
【问题讨论】:
-
请澄清你在哪里看到这个? (编译失败的例子会更好)可能只是看起来不等式不存在。
-
在你链接的图片中,它们在同一个盒子里(?)
-
所有迭代器必须支持不等式关系
operator!=。您的意思是operator<、operator>、operator<=和operator>=,它们仅对随机访问迭代器是必需/保证的? -