C ++ Set Library - funzione set ()

Descrizione

Il costruttore C ++ std::set::set() (Range Constructor) costruisce un contenitore di insieme con tanti elementi come menzionato nell'intervallo [primo, ultimo), con ogni elemento dell'insieme costruito dal suo elemento corrispondente in quell'intervallo.

Dichiarazione

Di seguito è riportata la dichiarazione per il costruttore di intervalli std :: set :: set () dall'intestazione std :: set.

C ++ 98

template <class InputIterator>
 set (InputIterator first, InputIterator last,
      const key_compare& comp = key_compare(),
      const allocator_type& alloc = allocator_type());

C ++ 11

template <class InputIterator>
   set (InputIterator first, InputIterator last,
        const key_compare& comp = key_compare(),
        const allocator_type& = allocator_type());

C ++ 14

template <class InputIterator>
  set (InputIterator first, InputIterator last,
       const key_compare& comp = key_compare(),
       const allocator_type& = allocator_type());
template <class InputIterator>
  set (InputIterator first, InputIterator last,
       const allocator_type& = allocator_type());

Parametri

  • alloc - Input iteratore alla posizione iniziale.

  • comp - Oggetto funzione di confronto da utilizzare per tutti i confronti di chiavi

  • first, last- L'intervallo da copiare da cui sono gli iteratori di input. Questo intervallo include gli elementi dal primo all'ultimo, incluso l'elemento indicato per primo ma escluso quello indicato per ultimo.

Valore di ritorno

Il costruttore non restituisce mai alcun valore.

Eccezioni

Questa funzione membro non ha effetto nel caso in cui venga generata un'eccezione. Tuttavia, se l'intervallo specificato da [first, last) non è valido, potrebbe verificarsi un comportamento indefinito.

Complessità temporale

N log (N), dove N = std :: distanza (primo, ultimo);

altrimenti lineare (O (N)) nella distanza tra gli iteratori, se gli elementi sono già ordinati.

Esempio

L'esempio seguente mostra l'utilizzo del costruttore di intervalli std :: set :: set ().

#include <iostream>
#include <set>

using namespace std;

int main(void) {
   char vowels[] = {'a','e','i','o','u'};
  
   // Range Constructor
   std::set<char> t_set (vowels, vowels+5);  

   std::cout <> "Size of set container t_set is : " << t_set.size();
   return 0;
}

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

Size of set container t_set is : 5