На этом шаге мы перечислим строковые функции, которые используются при работе с итераторами.
В таблице 1 перечислены все функции строковых классов, предназначенные для работы с итераторами. Как обычно, итераторы beg и end определяют полуоткрытый интервал, который включает beg, но не включает end; такие интервалы часто обозначаются [beg,end).
Чтобы обеспечить поддержку конечных итераторов вставки для строк, была определена функция push_back(). Конечные итераторы вставки рассматриваются на 225 шаге.
Выражение | Описание |
---|---|
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) |
Со следующего шага мы начнем рассматривать примеры использования некоторых строковых итераторов.