C++ C++;迭代器运算符定义
关于迭代器操作符如何工作的“定义”有什么想法或链接吗?更确切地说:例如,操作符“==”和“!=”必须如何实现——它们必须比较它们所持有的数据的成员吗(这是一个问题,因为迭代器首先不应该知道数据)?与.end()和.start()相比如何?对于指针迭代器:它只是地址检查吗C++ C++;迭代器运算符定义,c++,iterator,overloading,operator-keyword,C++,Iterator,Overloading,Operator Keyword,关于迭代器操作符如何工作的“定义”有什么想法或链接吗?更确切地说:例如,操作符“==”和“!=”必须如何实现——它们必须比较它们所持有的数据的成员吗(这是一个问题,因为迭代器首先不应该知道数据)?与.end()和.start()相比如何?对于指针迭代器:它只是地址检查吗 我很高兴听到您的想法或获得有关定义的链接。我认为您需要阅读以下内容: 运算符==和=比较迭代器,而不是它们引用的数据。我认为您需要阅读以下内容: 运算符==和=比较迭代器,而不是迭代器引用的数据。the==和!=操作符不需要比较
我很高兴听到您的想法或获得有关定义的链接。我认为您需要阅读以下内容:
运算符
==
和=代码>比较迭代器,而不是它们引用的数据。我认为您需要阅读以下内容:
运算符==
和=代码>比较迭代器,而不是迭代器引用的数据。the==和!=操作符不需要比较内容,它们只是检查两个迭代器是否引用同一个对象。the==and!=操作符不需要比较内容,它们只检查两个迭代器是否引用同一个对象。原始STL有一个
简而言之,它们是指针的泛化,因此=
应该检查两个迭代器是否指向同一容器中的同一项。当指针迭代器的指针比较相等时,指针迭代器确实应该比较相等
与begin()
或rbegin()
相比应该微不足道;与end()
或rend()
相比,可以通过多种方式进行比较,例如使其成为与容器的size()
相等的索引。原始STL具有
简而言之,它们是指针的泛化,因此=
应该检查两个迭代器是否指向同一容器中的同一项。当指针迭代器的指针比较相等时,指针迭代器确实应该比较相等
与begin()
或rbegin()
相比应该微不足道;与end()
或rend()
相比,可以通过多种方式进行比较,比如将其作为与容器的size()
相等的索引。太好了,这正是我所希望和期望的。谢谢你的链接。我与一位同事发生了争执,他实现了自己的迭代器嵌套类并比较了数据,这导致了在与.end()或类似对象进行比较时出现了严重问题。太好了,这正是我所希望的,也是我所期望的。谢谢你的链接。我与一位同事发生了争执,他实现了自己的迭代器嵌套类并比较了数据,这导致了在与.end()或类似对象进行比较时出现了严重问题。这正是我所希望的,见上文。这就是我所希望的,见上图。泰克斯寻求答案。