Детальный анализ итератора.
Итак, пришла пора познакомиться поближе. Итератор - это своеобразный указатель общего назначения. На самом деле простые указатели являются частным случаем итераторов, позволяющих работать с различными данными универсальным способом. Любая функция, принимая в качестве параметров итераторы, при их обработке не задумывается о типе переменных, на которые эти итераторы указывают. Итераторы позволяют получить доступ к содержимому контейнера так же, как указатели используются для доступа к элементам массива. Для использования итераторов необходимо подключить библиотеку <iterator>. Рассмотрим типы итераторов и назначение каждого из них: Типы итераторов.
Примечание:Кстати, указатели языка С++ также являются итераторами произвольного доступа. Хотим обратить Ваше внимание, что вышеописанная классификация не является строгой. Как правило, итераторы, которые обладают более расширенными свойствами, можно легко применять вместо итераторов более узкой направленности. Например, вместо итератора ввода может быть использован прямой итератор. Кроме того, библиотека STL содержит так называемые обратные итераторы (reverse iterator). Такие итераторы бывают либо двунаправленными, либо представляются итераторами произвольного доступа. В любом проявлении, они должны обладать свойством перемещения по контейнеру в обратном направлении. То есть, если подобный итератор указывает на хвост некой последовательности, то его увеличение приведет к позиционированию на предыдущий элемент. И, наконец, есть еще два типа итераторов, которые не вошли в основную классификацию, а именно: Потоковые итераторы - итераторы, позволяющие перемещаться по потоку. Итераторы вставки - итераторы, упрощающие вставку элементов в определённый контейнер. Из всего вышесказанного, вполне очевидно, что мир итераторов достаточно широк. В процессе изучения STL, мы с Вами будем знакомиться с итераторами всех классификаций, для совершенно разных стандартных классов. Однако, у всех итераторов достаточно много общего, и дело не только в их предназначении, но и в работе с ними. Рассмотрим две функции, которые используются для работы с итераторами: ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|