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

std::string::empty

#include <string>

bool empty() const noexcept;

Kiểm tra xem chuỗi có rỗng hay không, tức là không chứa bất kỳ ký tự nào.

Tham số

Không có tham số

Giá trị trả về

true

  • Nếu chuỗi rỗng (không chứa ký tự nào).

false

  • Nếu chuỗi không rỗng (chứa ít nhất một ký tự).

Đặc điểm

  1. empty() tương đương với việc kiểm tra size() == 0 hoặc length() == 0, nhưng empty() thường được ưu tiên hơn vì nó rõ ràng và dễ đọc hơn.
  2. empty() không thay đổi nội dung của chuỗi.
  3. empty() chỉ kiểm tra size(), không quan tâm đến capacity(). Một chuỗi có thể có capacity() lớn hơn 0 nhưng vẫn empty() nếu size() bằng 0.
  4. Hàm empty() được chỉ định là noexcept (từ C++11), nghĩa là nó được đảm bảo không ném ra ngoại lệ.
  5. Độ phức tạp O(1) - thời gian thực hiện hàm empty() là hằng số, không phụ thuộc vào độ dài của chuỗi.
  6. empty() thường được sử dụng để:
    • Kiểm tra xem một chuỗi có rỗng hay không trước khi thực hiện các thao tác khác.
    • Điều kiện dừng trong các vòng lặp hoặc thuật toán xử lý chuỗi.
    • Xác minh tính hợp lệ của dữ liệu đầu vào.

Ví dụ

#include <iostream>
#include <string>

int main() {
std::string str1 = "";
std::string str2 = "Hello";

if (str1.empty()) {
std::cout << "str1 is empty.\n";
} else {
std::cout << "str1 is not empty.\n";
}

if (str2.empty()) {
std::cout << "str2 is empty.\n";
} else {
std::cout << "str2 is not empty.\n";
}

return 0;
}

Các hàm liên quan

clearXóa tất cả các ký tự khỏi chuỗi, làm cho chuỗi trở thành rỗng
sizeTrả về số lượng ký tự hiện có trong chuỗi
lengthTrả về số lượng ký tự hiện có trong chuỗi