Daily bit(e) C++. std::views::keys, std::views::values
Добавлено 30 сентября 2026 в 21:32
Daily bit(e) C++ 131, представления из стандарта C++20 для ассоциативных контейнеров – std::views::keys и std::views::values.

std::views::keys и std::views::values из стандарта C++20 – это специализированные представления, обеспечивающие доступ к ключам и значениям ассоциативных контейнеров.
Напоминание: в контейнерах std::set и std::unordered_set (а также в их версиях «multi-») элементами являются ключи, а не значения.
#include <unordered_map>
#include <ranges>
int main() {
std::unordered_map<int,int> data{{1,7}, {2,8}, {3,9}};
for (const auto &v : data | std::views::keys)
{
// итерация по 1, 2, 3
}
for (const auto &v : data | std::views::values)
{
// итерация по 7, 8, 9
}
}
