Biblioteca C ++ Unordered_map - operador == Função

Descrição

A função C ++ std::unordered_map::operator== testa se dois unordered_maps são iguais ou não.

Declaração

A seguir está a declaração para std :: unordered_map :: operator == formulário de função std :: unordered_map header.

C ++ 11

template <class Key, class T, class Hash, class Pred, class Alloc>
bool operator==(const unordered_map<Key,T,Hash,Pred,Alloc>& first,
                const unordered_map<Key,T,Hash,Pred,Alloc>& second
               );

Parâmetros

  • first - Primeiro objeto unordered_map.

  • second - Segundo objeto unordered_map.

Valor de retorno

Retorna verdadeiro se ambos unordered_map forem iguais, caso contrário, falso.

Complexidade de tempo

Linear, isto é, O (n) no caso médio.

Quadrático, ou seja, O (n 2 ) no pior caso.

Exemplo

O exemplo a seguir mostra o uso da função std :: unordered_map :: operator ==.

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um1;
   unordered_map<char, int> um2;

   if (um1 == um2)
      cout << "Both unordered_maps are equal" << endl;

   um1.emplace('a', 1);

   if (!(um1 == um2))
      cout << "Both unordered_maps are not equal" << endl;

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Both unordered_maps are equal
Both unordered_maps are not equal