如何建立STL迭代器平等?

Dan*_*iel 11 c++ stl

我想知道,如何为STL迭代器建立等式(==)?它是一个简单的指针比较(因此基于地址)或更奇特的东西?

如果我有来自两个不同列表对象的两个迭代器并且我比较它们,结果总是为假?

如果我将有效值与超出范围的值进行比较,该怎么办?那总是假的吗?

Chr*_*ung 12

迭代器类可以定义重载的==运算符,如果需要的话.所以结果取决于实施operator==.

你真的不应该比较来自不同容器的迭代器.我认为如果你这样做,一些调试STL实现将发出警告,这将帮助你在代码中捕获这种错误使用的情况.

  • 不是真的应该吗?你当然不能! (8认同)