РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
335 of 815 menu

Функция views::keys

Функция views::keys создает представление, которое проецирует каждый элемент диапазона на его первый компонент, то есть на ключ. Это особенно удобно при работе с ассоциативными контейнерами, такими как std::map, где каждый элемент представляет собой пару "ключ-значение". Функция не принимает дополнительных параметров, кроме самого диапазона, и возвращает представление, элементами которого являются ключи исходного диапазона.

Синтаксис

std::views::keys(range)

Пример

Давайте создадим std::map с парами чисел и получим представление только из ключей:

#include <iostream> #include <map> #include <ranges> using namespace std; int main() { map<int, string> m = {{1, "a"}, {2, "b"}, {3, "c"}}; for (auto key : views::keys(m)) { cout << key << " "; } return 0; }

Результат выполнения кода:

1 2 3

Пример

Давайте применим views::keys к вектору пар строк и выведем только ключи:

#include <iostream> #include <vector> #include <ranges> #include <string> using namespace std; int main() { vector<pair<string, int>> v = {{"a", 1}, {"b", 2}, {"c", 3}}; for (const auto& key : views::keys(v)) { cout << key << " "; } return 0; }

Результат выполнения кода:

"a" "b" "c"

Смотрите также

  • функция views::values,
    которая извлекает значения из пар
  • функция views::transform,
    которая применяет функцию к каждому элементу
  • функция views::filter,
    которая фильтрует элементы по условию
  • функция views::all,
    которая создает представление из диапазона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить