Libreria C ++ Unordered_set - costruttore

Descrizione

Viene utilizzato per costruire un oggetto contenitore unordered_set.

Dichiarazione

Di seguito è riportata la dichiarazione per 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() );

Parametri

  • n - Contiene informazioni sul numero minimo di bucket iniziali.

  • hf - È un oggetto funzione hasher.

  • eql - È un oggetto funzione di confronto.

  • alloc - È un oggetto allowcator.

  • first, last - Input iteratori.

  • ust - È un altro oggetto unordered_set dello stesso tipo.

  • il - È un oggetto initializer_list.

Valore di ritorno

nessuna

Eccezioni

L'eccezione viene generata se un qualsiasi oggetto di confronto degli elementi genera un'eccezione.

Tieni presente che gli argomenti non validi causano un comportamento indefinito.

Complessità temporale

tempo costante.

Esempio

L'esempio seguente mostra l'utilizzo di 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

sixth contains: 500 400 300 600 100 200