Библиотека диапазонов (Ranges)

C++
Мы продолжаем рассказывать о том, что появилось в стандарте C++20. В новом разделе мы хотим познакомить вас с диапазонами!
Диапазоны (ranges) – это новая библиотека STD, появившаяся в стандарте C++20. Классы ranges расширяют и обобщают классы старых библиотек algorthm и iterator так, чтобы они были более адаптированы к функциональному стилю программирования.
Диапазоном называется всякая итерируемая последовательность. Иными словами – последовательность, для которой существует объект-итератор. Контейнеры, такие как vector и list, тоже являются диапазонами. Однако ranges создает и управляет не собственно диапазонами, а их представлениями (views), которые являются диапазонами лишь косвенно.
Появление диапазонов в стандарте – это давно ожидаемое, но, к сожалению, весьма запоздалое нововведение. Похожие вещи давным давно были реализованы в языках намного младше, чем C++! Осматривая все нововведения, которые появились в чреде стандартов C++17, C++20 и ожидаемого C++23, невольно ловишь себя на мысли, что разработчики занялись серьезной ревизией или даже переосмыслением STD. И лучше поздно, чем никогда!
Наши подписчики могут познакомиться с этой библиотекой, а также примерами программ, использующих её возможности, в этом разделе. Здесь вы узнаете что такое представление, адаптер и фабрика диапазонов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.


Обсуждение закрыто.