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

std::map::empty

#include <map>

bool empty() const noexcept;

Kiểm tra xem std::map có rỗng hay không, tức là không chứa bất kỳ phần tử (cặp key-value) nào.

Tham số

Không có tham số

Giá trị trả về

bool

  • Trả về true nếu std::map rỗng (không có phần tử nào), false nếu std::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::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::map.
  4. Liên quan đến begin()end(): Một std::map rỗng khi begin()end() (hoặc cbegin()cend(), hoặc rbegin()rend(), hoặc crbegin()crend()) 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 <map>

int main() {
std::map<int, std::string> map1;
std::map<int, std::string> map2 = {{1, "one"}, {2, "two"}};

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

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

// Kiểm tra trước khi truy cập key đầu tiên
if (!map2.empty()) {
std::cout << "First key: " << map2.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::map, làm cho std::map trở thành rỗng
eraseXóa một hoặc nhiều phần tử khỏi std::map
sizeTrả về số lượng phần tử (cặp key-value) hiện có trong std::map