Computer >> Máy Tính >  >> Lập trình >> C ++

multimap ::operator =trong C ++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và ví dụ của toán tử đa bản đồ bằng ‘=’ trong C ++ STL.

Multimap trong C ++ STL là gì?

Multimaps là các vùng chứa kết hợp, tương tự như vùng chứa bản đồ. Nó cũng tạo điều kiện thuận lợi cho việc lưu trữ các phần tử được hình thành bởi sự kết hợp của khóa-giá trị và giá trị được ánh xạ theo một thứ tự cụ thể. Trong một vùng chứa nhiều bản đồ, có thể có nhiều phần tử được liên kết với cùng một khóa. Dữ liệu luôn được sắp xếp nội bộ với sự trợ giúp của các khóa liên quan.

Multimap bằng toán tử ‘=’ là gì?

multimap ::operator =bằng toán tử. Toán tử này được sử dụng để sao chép các phần tử từ vùng chứa này sang vùng chứa khác bằng cách ghi đè lên nội dung hiện tại của vùng chứa.

Cú pháp

multiMap_name1 = multimap_name2;

Tham số

Có một multimap ở bên trái của người điều khiển và một multimap khác ở bên phải của container. Nội dung của phía bên phải được sao chép vào nhiều bản đồ ở phía bên trái.

Giá trị trả về

Không có giá trị trả về của một toán tử.

Đầu vào

multimap<char, int> newmap, themap;
newmap.insert({1, 20});
newmap.insert({2, 30});
themap = newmap;

Đầu ra

themap = 1:20 2:30

Ví dụ

#include<iostream>
#include<map>
using namespace std;
int main(){
   multimap<int,char > mul_1;
   multimap<int,char> mul_2;
   //declaring iterator to traverse the elements
   multimap<int,char>:: iterator i;
   //inserting elements to multimap1
   mul_1.insert(make_pair(0,'a'));
   mul_1.insert(make_pair(1,'b'));
   mul_1.insert(make_pair(2,'c'));
   mul_1.insert(make_pair(3,'d'));
   //inserting elements to multimap2
   mul_2.insert(make_pair(4,'e'));
   mul_2.insert(make_pair(5,'f'));
   mul_2.insert(make_pair(6,'g'));
   //calling = operator
   mul_1= mul_2;
   //elements of multimap1
   cout<<"Elements in multimap1 are: "<<"\n";
   for( i = mul_1.begin(); i!= mul_1.end(); i++) {
      cout<<(*i).first<<" "<< (*i).second << "\n";
   }
   //elements of multimap2
   cout<<"\nElements in multimap2 are: "<<"\n";
   for( i = mul_2.begin(); i!= mul_2.end(); i++) {
      cout<<(*i).first<<" "<< (*i).second << "\n";
   }
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements in multimap1 are:
4 e
5 f
6 g
Elements in multimap2 are:
4 e
5 f
6 g