operador unordered_multimap= en C++ – Part 1

Unordered_multimap ::operator= es una función integrada en C++ STL que realiza tres tipos de tareas que se explican a continuación. 
 

  1. Sintaxis (copiando elementos de diferentes contenedores): 
     
unordered_multimap_name1 operator= (unordered_multimap_name2)
  1. Parámetros: La función no acepta ningún parámetro. El contenedor de la derecha es aquel desde el que se copiarán los elementos al contenedor de la izquierda. 
    Valor devuelto: No devuelve nada. 
    El siguiente programa ilustra la función anterior: 
     

CPP

// C++ program to illustrate the
// unordered_multimap::operator=
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // declaration
    unordered_multimap<int, int> sample1, sample2;
 
    // inserts key and element
    // in sample1
    sample1.insert({ 10, 100 });
    sample1.insert({ 50, 500 });
 
    cout << "Key and Elements of Sample1 before copy  are:";
    for (auto it = sample1.begin(); it != sample1.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    cout << "\nThe size of sample2 before copy: "
         << sample2.size();
 
    // operator= to copy
    sample2 = sample1;
 
    cout << "\nKey and Elements of Sample2 after copy are: ";
    for (auto it = sample2.begin(); it != sample2.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    return 0;
}
  1.  
Producción: 

Key and Elements of Sample1 before copy  are:{50, 500} {10, 100} 
The size of sample2 before copy: 0
Key and Elements of Sample2 after copy are: {50, 500} {10, 100}

 

  1. Sintaxis (para mover elementos de diferentes contenedores): 
     
unordered_multimap_name1 operator= (unordered_multimap_name2)
  1. Parámetros: La función no acepta ningún parámetro. El contenedor de la derecha es aquel desde el que se van a mover los elementos al contenedor de la izquierda. Los elementos del contenedor derecho se destruyen después de utilizar operator=. 
    Valor devuelto: No devuelve nada. 
    El siguiente programa ilustra la función anterior: 
     

CPP

// C++ program to illustrate the
// unordered_multimap::operator=
#include <bits/stdc++.h>
using namespace std;
 
// Function to merge two lists
unordered_multimap<char, char> merge(unordered_multimap<char, char> a,
                                     unordered_multimap<char, char> b)
{
    unordered_multimap<char, char> temp(a);
    temp.insert(b.begin(), b.end());
    return temp;
}
int main()
{
 
    // declaration
    unordered_multimap<char, char> sample1, sample2, sample3;
 
    // inserts key and element
    // in sample1
    sample1.insert({ 'a', 'A' });
    sample1.insert({ 'g', 'G' });
 
    // inserts key and element
    // in sample1
    sample2.insert({ 'b', 'B' });
    sample2.insert({ 'c', 'C' });
    sample2.insert({ 'd', 'D' });
 
    cout << "Key and Elements of Sample1 are: ";
    for (auto it = sample1.begin(); it != sample1.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    cout << "\nKey and Elements of Sample2 are: ";
    for (auto it = sample2.begin(); it != sample2.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    // merging and moved
    sample3 = merge(sample1, sample2);
    sample1 = sample3;
 
    cout << "\n\nKey and Elements of Sample1 are: ";
    for (auto it = sample1.begin(); it != sample1.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    return 0;
}
  1.  
Producción: 

Key and Elements of Sample1 are: {g, G} {a, A} 
Key and Elements of Sample2 are: {d, D} {b, B} {c, C} 

Key and Elements of Sample1 are: {c, C} {b, B} {d, D} {a, A} {g, G}

 

  1. Sintaxis (Para asignar los elementos de una lista diferente ): 
     
unordered_multimap_name1 operator= (intitializer_list il)
  1. Parámetros: No acepta ningún parámetro, tiene la lista a la derecha que se le asignará al contenedor. 
    Valor devuelto: No devuelve nada. 
    El siguiente programa ilustra la función anterior: 
     

CPP

// C++ program to illustrate the
// unordered_multimap::operator=
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // declaration by using operator=
    unordered_multimap<int, int> sample1 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
 
    cout << "Key and Elements of Sample1 are: ";
    for (auto it = sample1.begin(); it != sample1.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    // declaration by using operator=
    unordered_multimap<char, char> sample2 = { { 'a', 'A' }, { 'b', 'B' }, { 'c', 'C' } };
 
    cout << "\n\nKey and Elements of Sample1 are: ";
    for (auto it = sample2.begin(); it != sample2.end(); it++) {
        cout << "{" << it->first << ", " << it->second << "} ";
    }
 
    return 0;
}
  1.  
Producción: 

Key and Elements of Sample1 are: {5, 6} {3, 4} {1, 2} 

Key and Elements of Sample1 are: {c, C} {b, B} {a, A}

 

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *