Chuyển tới nội dung chính

std::unordered_set::max_bucket_count

#include <unordered_set>

size_type max_bucket_count() const noexcept;

Trả về số lượng bucket tối đa mà std::unordered_set có thể có, phụ thuộc vào giới hạn 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 bucket tối đa mà std::unordered_set có thể có.

Đặc điểm

  1. Giới hạn lý thuyết: max_bucket_count() trả về giới hạn lý thuyết về số lượng bucket mà std::unordered_set có thể có. Trong 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 đến max_bucket_count().
  2. noexcept: max_bucket_count() được đánh dấu là noexcept, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào.
  3. const: max_bucket_count() là một hàm const, nghĩa là nó không thay đổi trạng thái của std::unordered_set.
  4. Không phụ thuộc vào số phần tử hiện tại: Giá trị trả về của max_bucket_count() không phụ thuộc vào số lượng phần tử hiện tại hay số lượng bucket hiện tại trong std::unordered_set, mà phụ thuộc vào giới hạn của hệ thống.
  5. Í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_bucket_count(). std::unordered_set được thiết kế để tự động quản lý số lượng bucket, và bạn hiếm khi đạt đến giới hạn tối đa này.
  6. Độ phức tạp: O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <unordered_set>

int main() {
std::unordered_set<int> myset;

std::cout << "Maximum bucket count of myset: " << myset.max_bucket_count() << '\n';

return 0;
}

Các hàm liên quan

max_sizeTrả về số lượng phần tử tối đa mà std::unordered_set có thể chứa
max_load_factorTruy vấn hoặc thiết lập hệ số tải tối đa (maximum load factor) của std::unordered_set
bucket_countTrả về số lượng bucket (hay còn gọi là giỏ) hiện tại trong std::unordered_set