std::forward_list::clear
#include <forward_list>
void clear() noexcept;
Xóa tất cả các phần tử khỏi forward_list, làm cho forward_list trở thành rỗng.
Tham số
Không có tham số
Giá trị trả về
Không có giá trị trả về
Đặc điểm
- Xóa tất cả phần tử:
clear()
xóa tất cả các phần tử khỏi forward_list, đưa forward_list về trạng thái rỗng. - Giảm kích thước về 0: Sau khi gọi
clear()
, kích thước của forward_list (số lượng phần tử) sẽ trở thành 0. - noexcept:
clear()
được đánh dấu lànoexcept
, nghĩa là nó được đảm bảo không ném ra ngoại lệ nào. - Làm thay đổi iterator: Thao tác
clear()
sẽ làm thay đổi tất cả iterator đang trỏ vào forward_list. - Không làm thay đổi
max_size()
:clear()
không làm thay đổi giá trị trả về bởimax_size()
. - Độ phức tạp: Độ phức tạp của
clear()
làO(n)
, với n là số phần tử trong forward_list, vì các destructor của các phần tử cần được gọi.
Ví dụ
#include <iostream>
#include <forward_list>
int main() {
std::forward_list<int> mylist = {10, 20, 30, 40, 50};
std::cout << "Size before clear: " << std::distance(mylist.begin(), mylist.end()) << '\n'; // Output: Size before clear: 5
mylist.clear(); // Xóa tất cả các phần tử
std::cout << "Size after clear: " << std::distance(mylist.begin(), mylist.end()) << '\n'; // Output: Size after clear: 0
if (mylist.empty()) {
std::cout << "mylist is empty\n"; // Output: mylist is empty
}
return 0;
}
Các hàm liên quan
erase_after | Xóa một hoặc nhiều phần tử khỏi forward_list tại vị trí sau một iterator cho trước |
resize | Thay đổi kích thước của forward_list |
pop_front | Xóa phần tử đầu tiên của forward_list |
remove | Xóa tất cả các phần tử có giá trị bằng với một giá trị cho trước khỏi forward_list |
unique | Xóa các phần tử trùng lặp liên tiếp khỏi forward_list |
empty | Kiểm tra xem forward_list có rỗng hay không |