Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Toán tử gán map operator= trong C++ STL


Trong bài viết này, chúng ta sẽ thảo luận về cách hoạt động, cú pháp và ví dụ của toán tử gán map '=' trong C++ STL.

Map trong C++ STL là gì?

Map là container liên hợp, cho phép lưu trữ các phần tử được hình thành từ tổ hợp khóa (key) và giá trị ánh xạ (mapped value) theo một thứ tự xác định. Trong container map, dữ liệu luôn được sắp xếp nội bộ nhờ các khóa liên kết. Các giá trị trong map được truy xuất bằng khóa duy nhất của chúng.

Toán tử gán map '=' là gì?

map::operator= là toán tử gán. Toán tử này được dùng để sao chép các phần tử từ container này sang container khác, bằng cách ghi đè nội dung hiện tại của container đích.

Cú pháp

Map_name = other_map;

Tham số

Có một map ở bên trái toán tử và một map khác ở bên phải. Nội dung của map bên phải được sao chép sang map bên trái.

Giá trị trả về

Toán tử không có giá trị trả về.

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ụ hoàn chỉnh

#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<<"\nDữ liệu trong map TP là: \n";    cout << "KHOÁ\tGIÁ TRỊ\n";    for (auto i = TP.begin(); i!= TP.end(); ++i) {       cout << i->first << '\t' << i->second << '\n';    }    cout << "\nDữ liệu trong map temp sao chép là: \n";    cout << "KHOÁ\tGIÁ TRỊ\n";    for (auto i = temp.begin(); i!= temp.end(); ++i) {       cout << i->first << '\t' << i->second << '\n';    }    return 0; }

Kết quả

Dữ liệu trong map TP là: KHOÁ   GIÁ TRỊ 1     10 2     20 3     30 4     40 6     50 Dữ liệu trong map temp sao chép là: KHOÁ   GIÁ TRỊ 1     10 2     20 3     30 4     40 6     50