C ++ Set Library - Fonction set ()

La description

Le constructeur C ++ std::set::set() (Move Constructor) construit le conteneur d'ensemble avec le contenu d'un autre ensemble en utilisant la sémantique de déplacement, c'est-à-dire construit un conteneur d'ensemble qui acquiert les éléments de x.

Si alloc n'est pas fourni, alors l'allocateur est obtenu par construction de mouvement à partir de l'allocateur appartenant à l'autre.

Déclaration

Voici la déclaration du constructeur de déplacement std :: set :: set () à partir de l'en-tête 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);

Paramètres

  • alloc - Entrer l'itérateur en position initiale.

  • x - Un autre objet conteneur défini du même type.

Valeur de retour

Le constructeur ne renvoie jamais aucune valeur.

Des exceptions

Cette fonction membre n'a aucun effet au cas où une exception serait levée.

Complexité temporelle

Constante ie O (1), sauf si l'allocation de l'ensemble courant est différente de l'allocateur de x

Exemple

L'exemple suivant montre l'utilisation du constructeur de déplacement 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

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