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

map ::at () 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 hàm map ::at () 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 đồ ::at () là gì?

Hàm map ::at () là một hàm có sẵn trong C ++ STL, được định nghĩa trong tệp tiêu đề . at () được sử dụng để truy cập một phần tử cụ thể của vùng chứa bản đồ được liên kết. Hàm này trả về một tham chiếu đến giá trị cụ thể được liên kết với khóa.

Nếu có trường hợp khi khóa không khớp với bất kỳ khóa nào của vùng chứa bản đồ thì hàm sẽ ném ra ngoại lệ out_of_range.

Cú pháp

map_name.at(key& k);

Tham số

Hàm chấp nhận một tham số, tức là

Giá trị trả về

Hàm này trả về một tham chiếu đến giá trị được liên kết với khóa k mà chúng ta đang tìm kiếm.

Ví dụ

Đầu vào

std::map<int> mymap;
mymap.insert({‘a’, 10});
mymap.insert({‘b, 20});
mymap.insert({‘c, 30});
mymap.at(‘b’);

Đầu ra

b: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;
   TP_2[5] = 50;
   TP_2[6] = 60;
   TP_2[7] = 70;
   cout<<"Elements at TP_1[1] = "<< TP_1.at(1) << endl;
   cout<<"Elements at TP_1[2] = "<< TP_1.at(2) << endl;
   cout<<"Elements at TP_1[3] = "<< TP_1.at(3) << endl;
   cout<<"\nElements at TP_2[7] = "<< TP_2.at(7) << endl;
   cout<<"Elements at TP_2[5] = "<< TP_2.at(5) << endl;
   return 0;
}

Đầu ra

Elements at TP_1[1] = 10
Elements at TP_1[2] = 20
Elements at TP_1[3] = 30
Elements at TP_1[7] = 70
Elements at TP_1[5] = 50