std::list::size
#include <list>
size_type size() const noexcept;
Trả về số lượng phần tử hiện có trong std::list.
Tham số
Không có tham số
Giá trị trả về
- Trả về một giá trị kiểu
size_type
, thường làstd::size_t
, là một kiểu số nguyên không dấu, đại diện cho số lượng phần tử hiện có trong std::list.
Đặc điểm
- noexcept:
size()
được đánh dấu lànoexcept
, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào. - const:
size()
là một hàmconst
, nghĩa là nó không thay đổi trạng thái của std::list. - Phân biệt với
capacity()
(dành cho std::vector): std::list không có hàmcapacity()
. capacity() (trong std::vector) liên quan đến dung lượng bộ nhớ được cấp phát, cònsize()
luôn trả về số lượng phần tử thực tế. std::list quản lý bộ nhớ theo cách khác std::vector. - Độ phức tạp:
O(1)
- thời gian hằng số. Việc lấy kích thước của std::list rất nhanh chóng, không phụ thuộc vào số lượng phần tử.
Ví dụ
#include <iostream>
#include <list>
int main() {
std::list<int> mylist = {10, 20, 30, 40, 50};
std::cout << "mylist.size(): " << mylist.size() << '\n'; // Output: mylist.size(): 5
// In ra các phần tử nếu list không rỗng
if (mylist.size() > 0) {
std::cout << "mylist elements:";
for (int i = 0; i < mylist.size(); ++i) {
// Cần sử dụng iterator để duyệt list vì list không hỗ trợ truy cập phần tử thông qua chỉ số
auto it = mylist.begin();
std::advance(it, i);
std::cout << ' ' << *it;
}
std::cout << '\n';
}
return 0;
}
Các hàm liên quan
empty | Kiểm tra xem std::list có rỗng hay không, tức là không chứa bất kỳ phần tử nào |
resize | Thay đổi kích thước của std::list |
max_size | Trả về số lượng phần tử tối đa mà std::list có thể chứa |