Класс basic_string удобен для хранения последовательности символов и манипулирования ей. Он определён как шаблон класса в пространстве имён std в заголовочном файле <string>.
template <typename Char, typename Traits = char_traits<Char>, typename Allocator = allocator<Char> > class basic_string;
В стандартной библиотеке C++ есть две специализации класса basic_string.
typedef basic_string<char> string; typedef basic_string<wchar_t> wstring;
Далее string будет обозначать собой любую специализацию класса basic_string, а Char будет означать тип его символов.
| Конструкторы | создают строку из массива символов или другой строки |
| Операторы | складывают строки, присваивают строкам значение, вводят/выводят строки, сравненивают строки |
| append | добавляет строку или символы к строке |
| assign | присваивает строке значение строк символов или других строк C++ |
| at | возвращает символ, стоящий в некоторой позиции |
| begin | возвращает итератор на начало строки |
| c_str | возвращает строку в виде немодифицируемого массива символов (как в C) |
| capacity | возвращает количество символов, которые могут поместиться в строку |
| clear | удаляет все символы из строки |
| compare | сравнивает две строки |
| copy | копирует символы из строки в массив |
| data | возвращает указатель на первый символ строки |
| empty | возвращает true если в строке нет символов |
| end | returns an iterator just past the last character of a string |
| 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 | возвращает reverse_iterator на конец строки |
| rend | возвращает reverse_iterator на начало строки |
| replace | заменяет символы в строке |
| reserve | устанавливает минимальную вместимость строки |
| resize | меняет размер строки |
| rfind | находит последнее вхождение подстроки |
| size | returns the number of items in the string |
| substr | возвращает определённую подстроку |
| swap | меняет две строки содержимым |