Partager via


operator== (<iterator>)

Teste si l'objet itérateurs sur le côté gauche de l'opérateur est égal à l'objet itérateur côté droit.

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
);

Paramètres

  • _Left
    Un objet de type itérateur.

  • _Right
    Un objet de type itérateur.

Valeur de retour

true si les objets itérateurs sont égaux ; false si les objets itérateurs ne sont pas égales.

Notes

Un objet itérateur est égal à l'autre s'ils répondent à les mêmes éléments dans un conteneur.Si le point de deux itérateurs aux éléments individuels dans un conteneur, puis ils ne sont pas égales.

Les deux premiers opérateurs de modèle retournent la valeur true uniquement si _Left et _Right signalent le même itérateur.Le troisième opérateur de modèle retourne la valeur true uniquement si _Left et _Right signalent le même pointeur sur stream.Le quatrième opérateur de modèle retourne _Left.equal (_Right).

Exemple

// 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;
}
  
  
  
  
  

Configuration requise

en-tête : <iterator>

l'espace de noms : DST

Voir aussi

Référence

Modèles Standard