私のアプリには、起動時に構築され、後で変更されることのないオブジェクトのC++STLリストがあります。同じリストノードを指す2つの独立したイテレータが常に等しいと比較されるのは事実ですか?
1534 次
2 に答える
10
はい。フォワードイテレータの要件の1つは次のとおりです。
C ++ 11 22.4.5/6:
a
とb
が両方とも逆参照可能である場合、とが同じオブジェクトにバインドされている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 です。以下を参照してください。
于 2012-11-16T13:10:19.713 に答える