Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpRnPj 105 of 696 menu
◀ ▶

Проекция в алгоритмах диапазонов в C++

Проекция говорит алгоритму, по какому полю сравнивать элементы. Вместо всего объекта берут один член - например, числовой идентификатор.

Заголовки #include <ranges>, #include <vector> и #include <string> достаточны для сортировки записей. Запишем структуру с полями, отсортируем по идентификатору и выведем порядок:

struct Row { int id; std::string tag; }; std::vector<Row> rows = { {3, "c"}, {1, "a"}, {2, "b"}, }; std::ranges::sort(rows, std::ranges::less{}, &Row::id); for (const auto& r : rows) { std::cout << r.id << "\n"; }

Соберите вектор структур с полями score и name, отсортируйте по убыванию балла через «алгоритм ranges::sort» с проекцией на score и выведите имена в новом порядке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить