Partilhar via


<unordered_map> operadores

O <unordered_map> cabeçalho fornece os seguintes operadores:

operador!=

Testa se o objeto unordered_map no lado esquerdo do operador não é igual ao objeto unordered_map no lado direito.

bool operator!=(const unordered_map <Key, Type, Hash, Pred, Allocator>& left, const unordered_map <Key, Type, Hash, Pred, Allocator>& right);

Parâmetros

esquerda
Um objeto do tipo unordered_map.

direito
Um objeto do tipo unordered_map.

Valor de retorno

true se os unordered_maps não forem iguais; false se forem iguais.

Observações

A comparação entre unordered_map objetos não é afetada pela ordem arbitrária em que eles armazenam seus elementos. Dois unordered_maps são iguais se tiverem o mesmo número de elementos e os elementos em um contêiner forem uma permutação dos elementos no outro contêiner. Caso contrário, são desiguais.

Exemplo

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

/* Output:
um1 != um2: true
um1 != um3: false
um2 != um3: true
*/

Operador==

Testa se o objeto unordered_map no lado esquerdo do operador é igual ao objeto unordered_map no lado direito.

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

Parâmetros

esquerda
Um objeto do tipo unordered_map.

direito
Um objeto do tipo unordered_map.

Valor de retorno

true se os unordered_maps forem iguais; false se não forem iguais.

Observações

A comparação entre unordered_map objetos não é afetada pela ordem arbitrária em que eles armazenam seus elementos. Dois unordered_maps são iguais se tiverem o mesmo número de elementos e os elementos em um contêiner forem uma permutação dos elementos no outro contêiner. Caso contrário, são desiguais.

Exemplo

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

/* Output:
um1 == um2: false
um1 == um3: true
um2 == um3: false
*/

operador!= (multimapa)

Testa se o objeto unordered_multimap no lado esquerdo do operador não é igual ao objeto unordered_multimap no lado direito.

bool operator!=(const unordered_multimap <Key, Type, Hash, Pred, Allocator>& left, const unordered_multimap <Key, Type, Hash, Pred, Allocator>& right);

Parâmetros

esquerda
Um objeto do tipo unordered_multimap.

direito
Um objeto do tipo unordered_multimap.

Valor de retorno

true se os unordered_multimaps não forem iguais; false se forem iguais.

Observações

A comparação entre unordered_multimap objetos não é afetada pela ordem arbitrária em que eles armazenam seus elementos. Dois unordered_multimaps são iguais se tiverem o mesmo número de elementos e os elementos em um contêiner forem uma permutação dos elementos no outro contêiner. Caso contrário, não são iguais.

Exemplo

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

int main( )
{
   using namespace std;
   unordered_multimap<int, int> um1, um2, um3;

   for ( int i = 0 ; i < 3 ; ++i ) {
      um1.insert( make_pair( i, i ) );
      um1.insert( make_pair( i, i ) );

      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );

      um3.insert( make_pair( i, i ) );
      um3.insert( make_pair( i, i ) );
   }

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

/* Output:
um1 != um2: true
um1 != um3: false
um2 != um3: true
*/

operador== (multimapa)

Testa se o objeto unordered_multimap no lado esquerdo do operador é igual ao objeto unordered_multimap no lado direito.

bool operator==(const unordered_multimap <Key, Type, Hash, Pred, Allocator>& left, const unordered_multimap <Key, Type, Hash, Pred, Allocator>& right);

Parâmetros

esquerda
Um objeto do tipo unordered_multimap.

direito
Um objeto do tipo unordered_multimap.

Valor de retorno

true se os unordered_multimaps forem iguais; false se não forem iguais.

Observações

A comparação entre unordered_multimap objetos não é afetada pela ordem arbitrária em que eles armazenam seus elementos. Dois unordered_multimaps são iguais se tiverem o mesmo número de elementos e os elementos em um contêiner forem uma permutação dos elementos no outro contêiner. Caso contrário, são desiguais.

Exemplo

// unordered_multimap_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_multimap<int, int> um1, um2, um3;

   for ( int i = 0 ; i < 3 ; ++i ) {
      um1.insert( make_pair( i, i ) );
      um1.insert( make_pair( i, i ) );

      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );
      um2.insert( make_pair( i, i ) );

      um3.insert( make_pair( i, i ) );
      um3.insert( make_pair( i, i ) );
   }

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

/* Output:
um1 == um2: false
um1 == um3: true
um2 == um3: false
*/

Ver também

<unordered_map>