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

std::unordered_map::empty

#include <unordered_map>

bool empty() const noexcept;

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.

Tham số

Không có tham số

Giá trị trả về

bool

  • Trả về true nếu std::unordered_map rỗng (không có phần tử nào), false nếu std::unordered_map không rỗng (có ít nhất một phần tử).

Đặc điểm

  1. Kiểm tra map rỗng: empty() là cách thức chính xác và hiệu quả để kiểm tra xem std::unordered_map có chứa phần tử nào hay không.
  2. noexcept: empty() đượ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: empty() là một hàm const, nghĩa là nó không thay đổi trạng thái của std::unordered_map.
  4. Liên quan đến begin()end(): Một std::unordered_map rỗng khi begin()end() (hoặc cbegin()cend()) trả về cùng một giá trị.
  5. Độ phức tạp: O(1) - thời gian hằng số.

Ví dụ

#include <iostream>
#include <unordered_map>

int main() {
std::unordered_map<int, int> umap1;
std::unordered_map<int, int> umap2;
umap2[1] = 2;
umap2[3] = 4;

if (umap1.empty()) {
std::cout << "umap1 is empty\n"; // Output: umap1 is empty
}

if (!umap2.empty()) {
std::cout << "umap2 is not empty\n"; // Output: umap2 is not empty
}

// Kiểm tra trước khi thao tác
if (!umap2.empty()) {
std::cout << "First element: " << umap2.begin()->first << std::endl;
}

return 0;
}

Các hàm liên quan

clearXóa tất cả các phần tử khỏi std::unordered_map
eraseXóa một hoặc nhiều phần tử khỏi std::unordered_map