Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Utilities

Boost , Chapter 1. Range 2.0 , Reference

Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Наличие абстракции, которая инкапсулирует пару итераторов, очень полезно. Стандартная библиотека использует<std::pair>в некоторых обстоятельствах, но этот класс является громоздким для использования, потому что нам нужно указать два аргумента шаблона, и для всех целей алгоритма диапазона мы должны обеспечить, чтобы два аргумента шаблона были одинаковыми. Более того,<std::pair<iterator,iterator>>вряд ли является самодокументирующим, в то время как более конкретные доменные имена классов. Поэтому эти два класса предоставляются:

  • Класс<iterator_range>
  • Класс<sub_range>
  • Функция<combine>
  • Функция<join>

Класс<iterator_range>формируется наитераторе поворота впереди должен использоваться всякий раз, когда требуется достаточно общий код. Класс<sub_range>формируется напереднем диапазоне, и он менее общий, но немного проще в использовании, поскольку его аргумент шаблона легче указать. Однако самое большое различие заключается в том, что<sub_range>может распространять константу, потому что он знает, что такое соответствующая<const_iterator>.

Оба класса могут использоваться в качестве диапазонов, поскольку они реализуют минимальный интерфейс, необходимый для автоматической работы.


PrevUpHomeNext

Статья Utilities раздела Chapter 1. Range 2.0 Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:57:12/0.0054049491882324/1