C ++ Set Library - función set ()

Descripción

El constructor de C ++ std::set::set() (Move Constructor) construye el contenedor de conjuntos con el contenido de otro conjunto utilizando la semántica de movimiento, es decir, construye un contenedor de conjuntos que adquiere los elementos de x.

Si no se proporciona alloc, entonces el asignador se obtiene mediante la construcción de movimiento del asignador que pertenece a otro.

Declaración

A continuación se muestra la declaración para std :: set :: set () mover constructor desde el encabezado 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);

Parámetros

  • alloc - Ingrese el iterador a la posición inicial.

  • x - Otro objeto contenedor de conjunto del mismo tipo.

Valor devuelto

El constructor nunca devuelve ningún valor.

Excepciones

Esta función miembro no tiene ningún efecto en caso de que se produzca alguna excepción.

Complejidad del tiempo

Constante, es decir, O (1), excepto si la asignación del conjunto actual es diferente de la asignación de x

Ejemplo

El siguiente ejemplo muestra el uso del constructor std :: set :: set () move.

#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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

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