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

toán tử bản đồ =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ử map bằng ‘=’ trong C ++ STL.

Bản đồ trong C ++ STL là gì?

Bản đồ là vùng chứa liên kết, tạo điều kiện để lưu trữ các phần tử được hình thành bởi sự kết hợp của giá trị khóa và giá trị được ánh xạ theo một thứ tự cụ thể. Trong vùng chứa bản đồ, dữ liệu luôn được sắp xếp bên trong với sự trợ giúp của các khóa liên quan. Các giá trị trong vùng chứa bản đồ được truy cập bằng các khóa duy nhất của nó.

Bản đồ bằng toán tử ‘=’ là gì?

map ::operator =là một toán tử bằng với. 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

Map_name.max_size();

Tham số

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

Giá trị trả về

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

Ví dụ

Đầu vào

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

Đầu ra

themap = 1:20

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP, temp;
   TP.insert({ 2, 20 });
   TP.insert({ 1, 10 });
   TP.insert({ 3, 30 });
   TP.insert({ 4, 40 });
   TP.insert({ 6, 50 });
   temp = TP;
   cout<<"\nData in map TP is: \n";
   cout << "KEY\tELEMENT\n";
   for (auto i = TP.begin(); i!= TP.end(); ++i) {
      cout << i->first << '\t' << i->second << '\n';
   }
   cout << "\nData in copied map temp is : \n";
   cout << "KEY\tELEMENT\n";
   for (auto i = TP.begin(); i!= TP.end(); ++i) {
      cout << i->first << '\t' << i->second << '\n';
   }
   return 0;
}

Đầu ra

Data in map TP is:
MAP_KEY    MAP_ELEMENT
1             10
2             20
3             30
4             40
6             50
Data in copied map temp is :
MAP_KEY    MAP_ELEMENT
1             10
2             20
3             30
4             40
6             50