Biblioteca C ++ Unordered_set - construtor

Descrição

É usado para construir um objeto container unordered_set.

Declaração

A seguir está a declaração para std :: unordered_set :: unordered_set.

C ++ 98

explicit unordered_set ( size_type n = /* see below */,
                         const hasher& hf = hasher(),
                         const key_equal& eql = key_equal(),
                         const allocator_type& alloc = allocator_type() );

Parâmetros

  • n - Ele contém informações sobre o número mínimo de baldes iniciais.

  • hf - É um objeto de função hasher.

  • eql - É um objeto de função de comparação.

  • alloc - É um objeto de permissão.

  • first, last - Iteradores de entrada.

  • ust - É um outro objeto unordered_set do mesmo tipo.

  • il - É um objeto initializer_list.

Valor de retorno

Nenhum

Exceções

A exceção é lançada se qualquer objeto de comparação de elemento lançar uma exceção.

Observe que argumentos inválidos causam um comportamento indefinido.

Complexidade de tempo

tempo constante.

Exemplo

O exemplo a seguir mostra o uso de std :: unordered_set :: unordered_set.

#include <iostream>
#include <string>
#include <unordered_set>

template<class T>
T cmerge (T a, T b) { T t(a); t.insert(b.begin(),b.end()); return t; }

int main () {
   std::unordered_set<std::string> first;                               
   std::unordered_set<std::string> second ( {"100","200","300"} );    
   std::unordered_set<std::string> third ( {"400","500","600"} ); 
   std::unordered_set<std::string> fourth ( second );             
   std::unordered_set<std::string> fifth ( cmerge(third,fourth) ); 
   std::unordered_set<std::string> sixth ( fifth.begin(), fifth.end() ); 

   std::cout << "sixth contains:";
   for (const std::string& x: sixth) std::cout << " " << x;
   std::cout << std::endl;

   return 0;
}

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

sixth contains: 500 400 300 600 100 200