std::string::size
#include <string>
size_type size() const noexcept;
Trả về số lượng ký tự hiện có trong chuỗi. Giá trị này tương đương với length()
.
Tham số
Không có tham số
Giá trị trả về
size_type
- Một kiểu số nguyên không dấu (thường là std::size_t) đại diện cho số lượng ký tự trong chuỗi.
Đặc điểm
size()
vàlength()
là hoàn toàn tương đương và trả về cùng một giá trị. Bạn có thể sử dụng hàm nào cũng được, tùy theo sở thích cá nhân.- Giá trị trả về của
size()
là kiểusize_type
, thường là std::size_t. Đây là kiểu số nguyên không dấu, đủ lớn để biểu diễn kích thước của chuỗi. size()
trả về số lượng ký tự hiện có trong chuỗi, không phải là dung lượng (capacity) của chuỗi. Dung lượng là số lượng ký tự mà chuỗi có thể lưu trữ mà không cần phải cấp phát lại bộ nhớ.- Hàm
size()
có độ phức tạp thời gian là hằng số (O(1)
), nghĩa là thời gian thực hiện hàm này rất nhanh và không phụ thuộc vào độ dài của chuỗi. - Hàm
size()
được chỉ định lànoexcept
(từ C++11), nghĩa là nó được đảm bảo không ném ra ngoại lệ. size()
thường được sử dụng để:- Lấy độ dài hiện tại của chuỗi.
- Kiểm tra xem chuỗi có rỗng hay không (thay vì so sánh
size()
với 0, bạn có thể sử dụngempty()
để rõ nghĩa hơn). - Sử dụng trong các vòng lặp để duyệt qua các ký tự của chuỗi.
- Kết hợp với các hàm thành viên khác của std::string để thực hiện các thao tác dựa trên kích thước của chuỗi.
Ví dụ
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
std::cout << "Size of str: " << str.size() << std::endl;
std::cout << "Length of str: " << str.length() << std::endl; // Tương đương với size()
if (str.empty()) {
std::cout << "str is empty.\n";
} else {
std::cout << "str is not empty.\n";
}
// Duyệt qua chuỗi sử dụng size()
for (std::string::size_type i = 0; i < str.size(); ++i) {
std::cout << str[i] << " ";
}
std::cout << std::endl;
return 0;
}
Các hàm liên quan
length | Trả về số lượng ký tự hiện có trong chuỗi |
resize | Trả về số lượng ký tự tối đa mà một đối tượng std::string có thể chứa |
max_size | Trả về số lượng phần tử tối đa mà std::array có thể chứa |
capacity | Trả về dung lượng bộ nhớ hiện tại được cấp phát cho chuỗi |