std::vector::clear
#include <vector>
void clear() noexcept;
Xóa tất cả các phần tử trong vector.
Tham số
Không có tham số
Giá trị trả về
Không có giá trị trả về
Đặc điểm
clear()
xóa tất cả các phần tử hiện có trong vector, làm cho kích thước của vector trở về 0.- Dung lượng (capacity) của vector không thay đổi sau khi gọi
clear()
. Điều này có nghĩa là vector vẫn giữ lại bộ nhớ đã cấp phát ban đầu cho việc sử dụng sau này. - Gọi
clear()
là một thao tác có chi phí thấp và không ném ngoại lệ. - Bộ nhớ đã cấp phát cho vector sẽ không được giải phóng (trừ khi bạn gọi thêm
shrink_to_fit()
sau đó), tức là capacity() của vector không bị thay đổi. - Nếu vector chứa các đối tượng phức tạp (như con trỏ hoặc class), hàm hủy của các phần tử sẽ được gọi trước khi chúng bị xóa.
- Ứng dụng thực tiễn:
- Đặt lại vector về trạng thái ban đầu mà không giải phóng bộ nhớ, giúp tối ưu khi vector cần được tái sử dụng.
- Xóa nhanh các phần tử trong quá trình xử lý dữ liệu động.
Ví dụ
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Size before clear: " << numbers.size() << '\n';
numbers.clear();
std::cout << "Size after clear: " << numbers.size() << '\n';
if (numbers.empty()) {
std::cout << "Vector is now empty.\n";
}
return 0;
}
Các hàm liên quan
erase | Xóa một hoặc nhiều phần tử khỏi vector |
resize | Thay đổi kích thước vector |
empty | Trả về true nếu vector rỗng, ngược lại trả về false |