Freigeben über


operator== (<iterator>)

Tests, wenn das Iteratorobjekt auf der linken Seite des Operators gleich dem Iteratorobjekt auf der rechten Seite ist.

template<class RandomIterator1, class RandomIterator2>
    bool operator==(
        const move_iterator<RandomIterator1>& _Left,
        const move_iterator<RandomIterator2>& _Right
    );
template<class RandomIterator1, class RandomIterator2>
    bool operator==(
        const reverse_iterator<RandomIterator1>& _Left,
        const reverse_iterator<RandomIterator2>& _Right
   );
template<class Type, class CharType, class Traits, class Distance>
   bool operator==(
      const istream_iterator<Type, CharType, Traits, Distance>& _Left,
      const istream_iterator<Type, CharType, Traits, Distance>& _Right
   );
template<class CharType, class Tr>
   bool operator==(
      const istreambuf_iterator<CharType, Traits>& _Left,
      const istreambuf_iterator<CharType, Traits>& _Right
);

Parameter

  • _Left
    Ein Objekt des Typiterators.

  • _Right
    Ein Objekt des Typiterators.

Rückgabewert

true, wenn die Iteratorobjekte gleich sind, false, wenn die Iteratorobjekte nicht gleich sind.

Hinweise

Ein Iteratorobjekt ist gleich andere, wenn sie dieselben Elemente in einem Container behandeln.Wenn zwei Iteratoren auf verschiedene Elemente in einem Container zeigen, dann sind sie nicht gleich.

Das erste zwei Vorlagenoperator-Rückgabetrue nur, wenn _Left und _Right denselben Iterator speichern.Die dritte Vorlagenoperatorrückgaben reihen nur, wenn _Left und _Right denselben Stream-Zeiger speichern.Der vierte Vorlagenoperator gibt _Left.equal (_Right) zurück.

Beispiel

// iterator_op_eq.cpp
// compile with: /EHsc
#include <iterator>
#include <vector>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   vector<int> vec;
   for ( i = 1 ; i < 6 ; ++i )
   {
      vec.push_back ( 2 * i );
   }
   
   vector <int>::iterator vIter;

   cout << "The vector vec is: ( ";
   for ( vIter = vec.begin( ) ; vIter != vec.end( ); vIter++)
      cout << *vIter << " ";
   cout << ")." << endl;

   // Initializing reverse_iterators to the last element
   vector <int>::reverse_iterator rVPOS1 = vec.rbegin ( ), 
           rVPOS2 = vec.rbegin ( );
   
   cout << "The iterator rVPOS1 initially points to the first "
        << "element\n in the reversed sequence: "
        << *rVPOS1 << "." << endl;

   if ( rVPOS1 == rVPOS2 )
      cout << "The iterators are equal." << endl;
   else
      cout << "The iterators are not equal." << endl;

   rVPOS1++;
   cout << "The iterator rVPOS1 now points to the second "
        << "element\n in the reversed sequence: "
        << *rVPOS1 << "." << endl;

   if ( rVPOS1 == rVPOS2 )
      cout << "The iterators are equal." << endl;
   else
      cout << "The iterators are not equal." << endl;
}
  
  
  
  
  

Anforderungen

Header: <iterator>

Namespace: std

Siehe auch

Referenz

Standardvorlagenbibliothek