VecDeque научился удалять элементы по условию прямо во время обхода
01.11.2025У VecDeque появился метод extract_if: он удаляет элементы, удовлетворяющие условию, и позволяет прервать обход. Для вектора и хеш-коллекций такой метод давно был стабилен, для очереди на обоих концах — нет.
Почему для очереди это было неочевидно
Метод позволяет смотреть на элемент и решать, оставлять его или нет, — с безопасным доступом к коллекции между шагами. Обычная очистка так не умеет: она либо требует сначала собрать подходящие элементы отдельно, либо накладывает ограничения.
Практический случай
Типичное применение — сжатие структуры: во время обхода один элемент превращается в два или ноль. Метод позволяет это сделать на месте, без пересборки всей коллекции.
Оригинал
Implement VecDeque::extract_if
Упоминаний: 1 · Просмотров: 2