unordered_multimap operator = в C ++ STL

Опубликовано: 30 Декабря, 2021

'=' - это оператор в C ++ STL, который копирует (или перемещает) unordered_multimap на другой unordered_multimap, а unordered_multimap :: operator = - соответствующая операторная функция. Есть три версии этой функции.

  1. Первая версия принимает ссылку на unordered_multimap в качестве аргумента и копирует его в unordered_multimap.
  2. Вторая версия выполняет назначение перемещения, то есть перемещает содержимое unordered_multimap на другую unordered_multimap.
  3. Третья версия назначает содержимое списка инициализаторов unordered_multimap.

Синтаксис:

umm.operator = (unordered_multimap & ммм)
umm.operator = (unordered_multimap && ммм)
umm.operator = (список инициализаторов)

Параметры:

  1. Первая версия принимает в качестве аргумента ссылку на unordered_multimap.
  2. Вторая версия принимает в качестве аргумента ссылку на r-значение unordered_multimap.
  3. Третья версия принимает в качестве аргумента список инициализаторов.

Возвращаемое значение: Все они возвращают значение этого указателя (* this).
Программа ниже иллюстрирует unordered_multimap :: operator = в C ++.
Пример

// C++ code to illustrate the method
// unordered_multimap::operator=()
#include <bits/stdc++.h>
using namespace std;
// merge function
template < class T>
T merge(T a, T b)
{
T t(a);
t.insert(b.begin(), b.end());
return t;
}
int main()
{
unordered_multimap< int , int > sample1, sample2, sample3;
// List initialization
sample1 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
sample2 = { { 7, 8 }, { 9, 10 }, { 11, 12 } };
// Merge both lists
sample3 = merge(sample1, sample2);
// copy assignment
sample1 = sample3;
// Print the unordered_multimap list
for ( auto & it : sample1)
cout << it.first << " : " << it.second << endl;
cout << endl;
for ( auto & it : sample2)
cout << it.first << " : " << it.second << endl;
cout << endl;
for ( auto & it : sample3)
cout << it.first << " : " << it.second << endl;
return 0;
}
Выход:
7: 8
9: 10
11: 12
1: 2
3: 4
5: 6

11: 12
9: 10
7: 8

7: 8
9: 10
11: 12
1: 2
3: 4
5: 6
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++