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