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

std::unordered_multimap::empty

#include <unordered_map>

bool empty() const noexcept;

Kiểm tra xem std::unordered_multimap 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_multimap rỗng (không có phần tử nào), false nếu std::unordered_multimap 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_multimap 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_multimap.
  4. Liên quan đến begin()end(): Một std::unordered_multimap 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_multimap<int, int> ummap1;
std::unordered_multimap<int, int> ummap2;
ummap2.emplace(1,2);
ummap2.emplace(3,4);

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

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

// Kiểm tra trước khi thao tác
if (!ummap2.empty()) {
std::cout << "First element: " << ummap2.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_multimap
eraseXóa một hoặc nhiều phần tử khỏi std::unordered_multimap