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 hàm map::max_size() trong C++ STL.
Map trong C++ STL là gì?
Map là container liên kết, cho phép lưu trữ các phần tử được hình thành từ cặp key và mapped value theo thứ tự cụ thể. Dữ liệu trong map luôn được sắp xếp nội bộ dựa trên key. Các giá trị được truy xuất thông qua key duy nhất.
map::max_size() là gì?
map::max_size() là hàm built-in trong C++ STL, định nghĩa trong header <map>. Hàm này trả về kích thước tối đa mà map container có thể chứa.
Hàm này dùng để kiểm tra số lượng phần tử tối đa mà map có thể chứa. Kích thước này là tiềm năng của container, không đảm bảo map sẽ đạt được giá trị đó (phụ thuộc vào bộ nhớ hệ thống).
Cú pháp
map_name.max_size();
Tham số
Hàm không nhận tham số nào.
Giá trị trả về
Trả về số lượng phần tử tối đa mà container có thể chứa (kiểu size_type).
Ví dụ minh họa
Input
map<char, int> newmap; newmap.max_size();
Output
Max size of map is: 461168601842738790
Ví dụ code hoàn chỉnh
#include <bits/stdc++.h>
using namespace std;
int main() {
map<int, int> TP_1, TP_2;
TP_1.insert({ 0, 10 });
cout << "Max size of map with elements is: " << TP_1.max_size() << endl;
cout << "Max size of map without elements is: " << TP_2.max_size() << endl;
return 0;
}
Kết quả
Max size of map with elements is: 461168601842738790 Max size of map without elements is: 461168601842738790
Lưu ý: Giá trị trả về thường rất lớn (gần giới hạn địa chỉ bộ nhớ 64-bit) và không thay đổi dù map có phần tử hay không.