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

map ::operator [] trong C ++ STL Program


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ử ánh xạ 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 nội bộ 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ử tham chiếu. Toán tử này được sử dụng để truy cập phần tử trong vùng chứa bằng khóa của nó.

Nếu không có khóa nào khớp trong vùng chứa, thì toán tử sẽ chèn một phần tử mới với khóa đó và trả về tham chiếu của giá trị được ánh xạ. Toán tử này hoạt động giống như map ::at (), điểm khác biệt duy nhất là at () ném ra một ngoại lệ khi khóa không có trong vùng chứa bản đồ.

Cú pháp

Map_name[key& k];

Tham số

Chỉ có 1 tham số, tức là khóa k mà chúng tôi muốn tham chiếu trong vùng chứa.

Giá trị trả về

Toán tử này trả về giá trị được liên kết với khóa k.

Đầu vào -

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

Đầu ra

20

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   map<int, int> TP_1;
   map<int, int> TP_2;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Element at TP[3] is : "<<TP_1[3];
   return 0;
}

Đầu ra

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

Element at TP[3] is : 30

Ví dụ

#include <bits/stdc++.h>
using namespace std;
int main(){
   map<int, int> TP_1;
   map<int, int> TP_2;
   TP_1[1] = 10;
   TP_1[2] = 20;
   TP_1[3] = 30;
   TP_1[4] = 40;
   cout<<"Element at TP[3] is : "<<TP_1[3];
   if(TP_1[5]==0){
      cout<<"\nElement at TP[5] doesn't exist";
   }
   else{
      cout<<"Element at TP[5] is : "<<TP_1[5];
   }
   return 0;
}

Đầu ra

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

Element at TP[3] is : 30
Element at TP[5] doesn't exist