std::unordered_map::max_size
#include <unordered_map>
size_type max_size() const noexcept;
Trả về số lượng phần tử tối đa mà std::unordered_map có thể chứa, phụ thuộc vào giới hạn bộ nhớ của hệ thống hoặc thư viện.
Tham số
Không có tham số
Giá trị trả về
size_type
- Trả về một giá trị kiểu size_type, thường là std::size_t, là một kiểu số nguyên không dấu, đại diện cho số lượng phần tử tối đa mà std::unordered_map có thể chứa.
Đặc điểm
- Giới hạn lý thuyết:
max_size()
trả về giới hạn lý thuyết về số lượng phần tử mà std::unordered_map có thể chứa. Trên thực tế, bạn có thể bị giới hạn bởi bộ nhớ RAM hoặc các ràng buộc khác của hệ thống trước khi đạt đếnmax_size()
. - noexcept:
max_size()
được đánh dấu lànoexcept
, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào. - const:
max_size()
là một hàmconst
, nghĩa là nó không thay đổi trạng thái của std::unordered_map. - Không phụ thuộc vào số phần tử hiện tại: Giá trị trả về của
max_size()
không phụ thuộc vào số lượng phần tử hiện tại trong std::unordered_map, mà phụ thuộc vào giới hạn của hệ thống. - Ít sử dụng trong thực tế: Trong hầu hết các trường hợp, bạn không cần phải lo lắng về
max_size()
. std::unordered_map được thiết kế để tự động quản lý bộ nhớ, và bạn hiếm khi đạt đến giới hạn tối đa này. - Độ phức tạp:
O(1)
- thời gian hằng số.
Ví dụ
#include <iostream>
#include <unordered_map>
#include <limits>
int main() {
std::unordered_map<int, int> myumap;
std::cout << "Maximum size of unordered_map: " << myumap.max_size() << '\n';
std::cout << "Maximum value of size_t: " << std::numeric_limits<std::size_t>::max() << '\n';
return 0;
}
Các hàm liên quan
empty | Kiểm tra xem std::unordered_map có rỗng hay không, tức là không chứa bất kỳ phần tử nào |
max_bucket_count | Trả về số lượng bucket tối đa mà std::unordered_map có thể có |
max_load_factor | Truy vấn hoặc thiết lập hệ số tải tối đa (maximum load factor) của std::unordered_map |