C++ <list> функция clear
clearиспользуется в listОчистить все элементыЭта функция — самый простой и наиболее эффективный способ очистить контейнер.
clearЭто функция-член класса контейнера, используемая для удаления всех элементов связного списка, после чего список становится пустым.
После вызова у связного спискаsize()станет 0.
Определения слов: clearЭто означает «clear», т.е. удалить все элементы.
Базовый синтаксис и параметры
clearЭто функция-член класса контейнера, и для её вызова не требуется параметров.
Формат синтаксиса
void clear();
Описание функции
- Возвращаемое значение:
void(нет возвращаемого значения). - Действие: удалить все элементы в связанном списке,
size()становится 0.
Пример
Пример 1: Очистка связанного списка
Пример
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Перед очисткой - размер: " << numbers.size() << std::endl;
numbers.clear();
std::cout << "После очистки - размер: " << numbers.size() << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "Перед очисткой - размер: " << numbers.size() << std::endl;
numbers.clear();
std::cout << "После очистки - размер: " << numbers.size() << std::endl;
return 0;
}
Ожидаемый вывод:
清空前 - size: 5 清空后 - size: 0
Пример 2: Повторное использование после очистки
Пример
#include <iostream>
#include <list>
int main() {
std::list<int> data;
data.push_back(1);
data.push_back(2);
std::cout << "После первого добавления: " << data.size() << std::endl;
data.clear();
data.push_back(10);
data.push_back(20);
data.push_back(30);
std::cout << "После очистки и повторного добавления: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> data;
data.push_back(1);
data.push_back(2);
std::cout << "После первого добавления: " << data.size() << std::endl;
data.clear();
data.push_back(10);
data.push_back(20);
data.push_back(30);
std::cout << "После очистки и повторного добавления: ";
for(int n : data) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Ожидаемый вывод:
第一次添加后: 2 清空后重新添加: 10 20 30
Другие расширения