Класс basic_string удобен для хранения последовательности символов и манипулирования ей. Он определён как шаблон класса в пространстве имён std в заголовочном файле <string>.
template <typename charT, typename Traits = char_traits<charT>, typename Allocator = allocator<charT> > class basic_string;
В стандартной библиотеке C++ есть две специализации класса basic_string.
typedef basic_string<char> string; typedef basic_string<wchar_t> wstring;
Далее string будет обозначать собой любую специализацию класса basic_string, а charT будет означать тип его символов.
| Конструкторы | создают строку из массива символов или другой строки |
| Операторы | складывают строки, присваивают строкам значение, вводят/выводят строки, сравнивают строки |
| append | добавляет строку или символы к строке |
| assign | присваивает строке значение строк символов или других строк C++ |
| at | возвращает символ, стоящий в некоторой позиции |
| begin | возвращает итератор на начало строки |
| c_str | возвращает строку в виде немодифицируемого массива символов (как в C) |
| capacity | возвращает количество символов, которые могут поместиться в строку |
| clear | удаляет все символы из строки |
| compare | сравнивает две строки |
| copy | копирует символы из строки в массив |
| data | возвращает указатель на первый символ строки |
| empty | возвращает true если в строке нет символов |
| end | возвращает итератор, установленный после последнего символа строки |
| erase | удаляет символы из строки |
| find | ищет символы в строке |
| find_first_not_of | находит первый символ, отличный от |
| find_first_of | находит первый символ схожий с |
| find_last_not_of | находит последний символ, отличный от |
| find_last_of | находит последний символ, схожий с |
| getline | читает из потока ввода в строку |
| insert | вставляет символы в строку |
| length | возвращает длину строки |
| max_size | возвращает максимальное количество символов, которые могут содержаться в строке |
| npos | специальное значение, означающее «не найдено» или «все оставшиеся символы» |
| push_back | добавляет символ в конец строки |
| rbegin | возвращает обратный итератор на конец строки |
| rend | возвращает обратный итератор на начало строки |
| replace | заменяет символы в строке |
| reserve | устанавливает минимальную вместимость строки |
| resize | меняет размер строки |
| rfind | находит последнее вхождение подстроки |
| size | возвращает количество символов в строке |
| substr | возвращает определённую подстроку |
| swap | меняет две строки содержимым |