Daily bit(e) C++. std::views::drop, std::views::drop_while

Добавлено 6 ноября 2026 в 06:07

Daily bit(e) C++ 171, представления в C++20 для пропуска начальных элементов – std::views::drop и std::views::drop_while.

Daily bit(e) C++

Представления std::views::drop и std::views::drop_while, появившиеся в C++20, позволяют пропускать начальные элементы исходного диапазона.

std::views::drop пропускает заданное количество начальных элементов. std::views::drop_while пропускает начальные элементы, удовлетворяющие переданному предикату.

#include <vector>
#include <ranges>

std::vector<int> data{1,2,3,4,5};

// пройти по {2,3,4,5}
for (auto v : data | std::views::drop(1)) {}

constexpr auto less_three = [](int v) { return v < 3; };
// пройти по {3,4,5}
for (auto v : data | std::views::drop_while(less_three)) {}

Пример на Compiler Explorer

Теги

C++ / CppDaily bit(e) C++Программирование