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

std::vector::empty

#include <vector>

bool empty() const noexcept;

Kiểm tra 1 vector có rỗng hay không.

Tham số

Không có tham số

Giá trị trả về

  • empty() trả về true nếu vector không có phần tử nào, và false nếu vector có chứa ít nhất một phần tử.

Đặc điểm

  1. empty() là một const member function, nghĩa là nó chỉ đọc trạng thái của vector mà không thay đổi nội dung hay cấu trúc của vector.
  2. empty() có thời gian thực thi O(1) vì nó chỉ cần kiểm tra kích thước hiện tại của vector mà không phải duyệt qua các phần tử.
  3. empty() thường được dùng trong các điều kiện để kiểm tra vector có phần tử hay không, ví dụ như trong vòng lặp while để lặp qua các phần tử cho đến khi vector trống.
  4. Sử dụng empty() được xem là một cách kiểm tra an toàn và hiệu quả thay vì so sánh size() với 0, vì nó trực tiếp diễn đạt ý định của lập trình viên và cũng có hiệu năng tốt.

Ví dụ

#include <iostream>
#include <vector>

int main ()
{
std::vector<int> myvector;
int sum (0);

for (int i=1;i<=10;i++) myvector.push_back(i);

while (!myvector.empty())
{
sum += myvector.back();
myvector.pop_back();
}

std::cout << "total: " << sum << '\n';

return 0;
}

Các hàm liên quan

clearXóa tất cả các phần tử trong vector
eraseXóa một hoặc nhiều phần tử khỏi vector
sizeTrả về số lượng phần tử hiện có trong vector