На этом шаге мы перечислим все операции, выполняемые над строками.
В таблице 1 перечислены все операции, определенные для строк.
| Операция | Описание |
|---|---|
| Конструкторы | Создание и копирование строк |
| Деструктор | Уничтожение строк |
| =, assign() | Присваивание нового значения |
| swap() | Обмен содержимым двух строк |
| +=, append(), push_back() | Присоединение символов |
| insert() | Вставка символов |
| erase() | Удаление символов |
| clear() | Удаление всех символов (строка остается пустой) |
| resize() | Изменение количества символов (удаление и присоединение символов в конце) |
| replace() | Замена символов |
| + | Конкатенация строк |
| ==, !=, <, <=, >, >=, compare() | Сравнение строк |
| size(), ength() | Получение количества символов |
| max_size() | Получение максимально возможного количества символов |
| empty() | Проверка пустой строки |
| capacity() | Получение количества символов, которые могут храниться в памяти без перераспределения |
| reserve() | Резервирование памяти для заданного количества символов |
| [], at() | Обращение к символу |
| >>, getline() | Чтение строковых данных из потока данных |
| << | Запись строковых данных в поток данных |
| copy() | Копирование или запись содержимого строки в C-строку |
| c_str() | Получение содержимого строки в виде C-строки |
| data() | Получение содержимого строки в виде символьного массива |
| substr() | Получение подстроки |
| Поисковые функции | Поиск заданных подстрок и символов |
| begin(), end() | Поддержка "нормальных" итераторов |
| rbegin(), rend() | Поддержка обратных итераторов |
| get_allocator() | Получение распределителя памяти |
На следующем шаге мы остановимся на аргументах операций над строками.