Строки. Поддержка итераторов для строк (общие сведения)

   
На этом шаге мы приведем общие сведения об использовании итераторов для строк.

   
Строка представляет собой упорядоченную последовательность символов. Соответственно в стандартную библиотеку C++ был включен
интерфейс, позволяющий использовать строки как контейнеры STL.

   
В частности, вызовом функций строковых классов можно получить итераторы для перебора символов строки. Если вы еще не знакомы с итераторами,
считайте, что это своего рода псевдоуказатели, ссылающиеся на отдельные символы строки (по аналогии с указателями, ссылающимися на отдельные
символы С-строк). При помощи итераторов можно перебрать все символы строки. Для этого достаточно воспользоваться алгоритмами,
входящими в стандартную библиотеку C++ или определяемыми пользователем. Например, вы можете отсортировать символы в строке,
переставить их в обратном порядке или найти символ с максимальным значением.

   
Строковые итераторы относятся к категории итераторов произвольного доступа. Это означает, что строковые итераторы поддерживают
произвольный доступ к символам и могут использоваться со всеми алгоритмами (смотри шаги 97 и 209). Как обычно, типы строковых итераторов
(iterator, const_iterator и т. д.) определяются самим строковым классом. Конкретный тип зависит от реализации, но обычно строковые
итераторы определяются в виде обычных указателей. На 215 шаге описаны проблемы, возникающие из-за различий между итераторами, реализованными
в виде указателей, и итераторами, реализованными в виде классов.

   
Итераторы становятся недействительными при перераспределении памяти и при некоторых изменениях в данных, на которые они ссылаются.
За подробностями обращайтесь к шагу 370.

   
На следующем шаге мы рассмотрим строковые функции для работы с итераторами.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий