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 multimap::operator= trong C++ STL.
Multimap trong C++ STL là gì?
Multimap là container liên kết, tương tự như map. Nó lưu trữ các phần tử dạng cặp key-value theo thứ tự cụ thể. Multimap cho phép nhiều phần tử có cùng một key. Dữ liệu luôn được sắp xếp theo key.
Toán tử gán multimap::operator= là gì?
multimap::operator= là toán tử gán. Toán tử này 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
multiMap_name1 = multimap_name2;
Tham số
Bên trái là multimap đích, bên phải là multimap nguồn. Nội dung của multimap nguồn được sao chép sang multimap đích.
Giá trị trả về
Toán tử không có giá trị trả về.
Ví dụ minh họa
#include <iostream>
#include <map>
using namespace std;
int main() {
multimap<int, char> mul_1;
multimap<int, char> mul_2;
multimap<int, char>::iterator i;
// Chèn vào mul_1
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'));
// Chèn vào mul_2
mul_2.insert(make_pair(4, 'e'));
mul_2.insert(make_pair(5, 'f'));
mul_2.insert(make_pair(6, 'g'));
// Gán mul_2 vào mul_1
mul_1 = mul_2;
// Phần tử của mul_1 sau gán
cout << "Phần tử trong multimap1:\n";
for (i = mul_1.begin(); i != mul_1.end(); i++) {
cout << (*i).first << " " << (*i).second << "\n";
}
// Phần tử của mul_2 (giữ nguyên)
cout << "\nPhần tử trong multimap2:\n";
for (i = mul_2.begin(); i != mul_2.end(); i++) {
cout << (*i).first << " " << (*i).second << "\n";
}
return 0;
}
Kết quả
Phần tử trong multimap1:
4 e
5 f
6 g
Phần tử trong multimap2:
4 e
5 f
6 g