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.

Представления 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)) {}
