C ++ Set Library - funzione set ()

Descrizione

Il costruttore C ++ std::set::set() (Move Constructor) costruisce il contenitore dell'insieme con il contenuto di un altro insieme usando la semantica dello spostamento, cioè costruisce un contenitore dell'insieme che acquisisce gli elementi di x.

Se l'allocazione non viene fornita, l'allocatore si ottiene per costruzione di mosse dall'allocatore appartenente ad altro.

Dichiarazione

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

C ++ 11

set (set&& x);
set (set&& x, const allocator_type& alloc);

C ++ 14

set (set&& x);
set (set&& x, const allocator_type& alloc);

Parametri

  • alloc - Input iteratore alla posizione iniziale.

  • x - Un altro oggetto contenitore impostato dello stesso tipo.

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.

Complessità temporale

Costante cioè O (1), tranne se l'attuale allocazione dell'insieme è diversa dall'allocatore di x

Esempio

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

#include <iostream>
#include <set>

using namespace std;

int main(void) {
   // Default constructor
   std::set<char> t_set;
   t_set.insert('x');
   t_set.insert('y');

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

   // Move constructor
   std::set<char> t_set_new(std::move(t_set));
   std::cout << "\nSize of new set container t_set_new is : " << t_set_new.size();
   return 0;
}

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

Size of set container t_set is : 2
Size of new set container t_set_new is : 2