§ 2.4. Библиотека диапазонов (ranges)


Что это?

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

Просмотр данного материала ограничен! Это закрытая часть сайта, которая доступна только подписчикам! Оформить подписку вы можете на этой странице

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


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