Шаг 381.
Библиотека STL.
Строки. Строковые функции для работы с итераторами

    На этом шаге мы перечислим строковые функции, которые используются при работе с итераторами.

    В таблице 1 перечислены все функции строковых классов, предназначенные для работы с итераторами. Как обычно, итераторы beg и end определяют полуоткрытый интервал, который включает beg, но не включает end; такие интервалы часто обозначаются [beg,end).

    Чтобы обеспечить поддержку конечных итераторов вставки для строк, была определена функция push_back(). Конечные итераторы вставки рассматриваются на 225 шаге.

Таблица 1. Строковые функции для работы с итераторами
Выражение Описание
s.begin() Возвращает итератор произвольного доступа для первого символа
s.end() Возвращает итератор произвольного доступа для позиции за последним символом
s.rbegin() Возвращает обратный итератор для первого символа при переборе в обратном направлении (то есть для последнего символа строки)
s.rend() Возвращает обратный итератор для позиции за последним символом при переборе в обратном направлении (то есть для позиции перед первым символом строки)
string s(beg, end) Создает строку, инициализированную всеми символами интервала [beg,end)
s.append(beg, end) Присоединяет к строке все символы интервала [beg,end)
s.assign(beg, end) Присваивает строке содержимое интервала [beg,end)
s.insert(pos, c) Вставляет символ с в позиции итератора pos и возвращает итератор для позиции нового символа
s.insert(pos,num,c) Вставляет num экземпляров символа с в позиции итератора pos и возвращает итератор для позиции первого из вставленных символов
s.insert(pos, beg, end) Вставляет все символы интервала [beg,end) в позиции итератора pos
s.erase(pos) Удаляет символ, на который ссылается итератор pos, и возвращает позицию следующего символа
s.erase(beg, end) Удаляет все символы интервала [beg,end) и возвращает позицию следующего символа
s.replace(beg, end, str) Заменяет все символы в интервале [beg,end) символами строки str
s.replace(beg,end,cstr) Заменяет все символы в интервале [beg,end) символами С-строки cstr
s.replace(beg, end, cstr, len) Заменяет все символы в интервале [beg,end) len символами символьного массива cstr
s.replace(beg,end,num,c) Заменяет все символы в интервале [beg,end) num экземплярами символа с
s.replace(beg, end, newBeg, newEnd) Заменяет все символы в интервале [beg,end) всеми символами интервала [newBeg,newEnd)

    Со следующего шага мы начнем рассматривать примеры использования некоторых строковых итераторов.




Предыдущий шаг Содержание Следующий шаг