4

私のアプリには、起動時に構築され、後で変更されることのないオブジェクトのC++STLリストがあります。同じリストノードを指す2つの独立したイテレータが常に等しいと比較されるのは事実ですか?

4

2 に答える 2

10

はい。フォワードイテレータの要件の1つは次のとおりです。

C ++ 11 22.4.5/6:abが両方とも逆参照可能である場合、とが同じオブジェクトにバインドされているa == b場合に限ります。*a*b

標準コンテナ上のすべてのイテレータは、(少なくとも)フォワードイテレータです。

于 2012-11-16T13:12:44.287 に答える
2

はい、cplusplus.com によると:

http://www.cplusplus.com/reference/std/iterator/ForwardIterator/

等号/不等号の比較を受け入れます。
等しい反復子は、同じ要素が指されていることを意味します

(私はこのサイトのファンではありませんが、ここでは信頼しています。)


cppreference.com は同意し、それ以上のことを述べています。つまり、すべての InputIterators (読み取ることができる) は EqualityComparable です。以下を参照してください。

http://en.cppreference.com/w/cpp/concept/InputIterator

于 2012-11-16T13:10:19.713 に答える