Freigeben über


operator== (unordered_map)

Testet, ob das unordered_map-Objekt auf der linken Seite des Operators unordered_map Objekt gleich dem auf der rechten Seite ist.

bool operator==( 
   const unordered_map <Key, Type, Hash, Pred, Allocator>& _Left, 
   const unordered_map <Key, Type, Hash, Pred, Allocator>& _Right 
);

Parameter

  • _Left
    Ein Objekt vom Typ unordered_map.

  • _Right
    Ein Objekt vom Typ unordered_map.

Rückgabewert

true, wenn die unordered_maps gleich sind; false, wenn sie nicht gleich sind.

Hinweise

Der Vergleich zwischen unordered_map Objekten wird nicht durch die willkürliche Reihenfolge aus, in der sie ihre Elemente speichern. Zwei unordered_maps sind gleich, wenn sie dieselbe Anzahl von Elementen aufweisen und die Elemente in einem Container eine Permutation der Elemente im anderen Container befinden. Andernfalls sind sie ungleich.

Beispiel

// unordered_map_op_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd 
#include <unordered_map>
#include <iostream>
#include <ios>

int main( )
{
   using namespace std;
   unordered_map<int, int> um1, um2, um3;
   
   for ( int i = 0 ; i < 3 ; ++i ) {
      um1.insert( make_pair( i+1, i ) );
      um1.insert( make_pair( i, i ) );

      um2.insert( make_pair( i, i+1 ) );
      um2.insert( make_pair( i, i ) );
      
      um3.insert( make_pair( i, i ) );
      um3.insert( make_pair( i+1, i ) );
   }

   cout << boolalpha;
   cout << "um1 == um2: " << (um1 == um2) << endl; 
   cout << "um1 == um3: " << (um1 == um3) << endl; 
   cout << "um2 == um3: " << (um2 == um3) << endl; 
}

Ausgabe:

um1 == um2: false

um1 == um3: true

um2 == um3: false

Anforderungen

Header: <unordered_map>

Namespace: std

Siehe auch

Referenz

Standardvorlagenbibliothek