std::basic_string
|   Определено в заголовочном файле <string>
   | 
||
|   template<     class CharT,  | 
||
Шаблон класса basic_string хранит и управляет последовательностью char-подобных объектов. Класс не зависит ни от используемого символьного типа, ни от природы операций над этим типом. Определения этих операций передаются через параметр шаблона Traits, являющийся специализацией std::char_traits или любым другим совместимым классом свойств.
| 
 Элементы   | 
(начиная с C++11) | 
Предоставлено несколько специализаций для распространенных типов символов:
|   Заголовочный файл  
<string>  | |
| Тип | Определение | 
| std::string | std::basic_string<char> | 
| std::wstring | std::basic_string<wchar_t> | 
| std::u16string (C++11) | std::basic_string<char16_t> | 
| std::u32string (C++11) | std::basic_string<char32_t> | 
Содержание | 
[править] Параметры шаблона
| CharT | - | символьный тип | 
| Traits | - | класс свойств, устанавливающий операции над символьным типом | 
| Allocator | - |   тип-Allocator, используемый для внутреннего выделения памяти
 | 
[править] Типы-члены
| Тип-член | Определение | 
  traits_type
 | 
  Traits
 | 
  value_type
 | 
  Traits::char_type
 | 
  allocator_type
 | 
  Allocator 
 | 
  size_type
 | 
Беззнаковый целочисленный тип (обычно size_t) | 
  difference_type
 | 
Знаковый целочисленный тип (обычно std::ptrdiff_t) | 
  reference
 | 
  Allocator::reference (до C++11)value_type& (начиная с C++11) 
 | 
  const_reference
 | 
  Allocator::const_reference (до C++11)const value_type& (начиная с C++11) 
 | 
  pointer
 | 
  Allocator::pointer (до C++11)std::allocator_traits<Allocator>::pointer (начиная с C++11)  | 
  const_pointer
 | 
  Allocator::const_pointer (до C++11) std::allocator_traits<Allocator>::const_pointer (начиная с C++11)  | 
  iterator
 | 
  RandomAccessIterator 
 | 
  const_iterator
 | 
Константный итератор с произвольным доступом | 
  reverse_iterator
 | 
std::reverse_iterator<iterator> | 
  const_reverse_iterator
 | 
std::reverse_iterator<const_iterator> | 
[править] Функции-члены
  создаёт basic_string (public функция-член)  | |
|   присваивает значения строке  (public функция-член)  | |
|   назначает символы строке  (public функция-член)  | |
|   Возвращает связанный аллокатор   (public функция-член)  | |
 Доступ к элементам | |
|   получение указанного символа с проверкой выхода индекса за границы  (public функция-член)  | |
|   получение указанного символа  (public функция-член)  | |
|    (C++11)  | 
  получение первого символа  (public функция-член)  | 
|    (C++11)  | 
  получение последнего символа  (public функция-член)  | 
|   возвращает указатель на первый символ строки  (public функция-член)  | |
|   возвращает немодифицируемый массив символов С, содержащий символы строки  (public функция-член)  | |
 Итераторы | |
|    (C++11)  | 
  Возвращает итератор на первый элемент   (public функция-член)  | 
|    (C++11)  | 
  Возвращает итератор на элемент, следующий за последним  (public функция-член)  | 
|    (C++11)  | 
  Возвращает обратный итератор на первый элемент   (public функция-член)  | 
|    (C++11)  | 
  Возвращает обратный итератор на элемент, следующий за последним  (public функция-член)  | 
 Вместимость | |
|   проверяет, является ли строка пустой  (public функция-член)  | |
|    возвращает количество символов в строке   (public функция-член)  | |
|   возвращает максимальное количество символов  (public функция-член)  | |
|   резервирует место под хранение  (public функция-член)  | |
|   возвращает количество символов, которые могут содержаться в текущем выделенном хранилище  (public функция-член)  | |
|    (C++11)  | 
  уменьшает использование памяти, освобождая неиспользуемую память   (public функция-член)  | 
 Операции | |
|   очищает содержимое строки  (public функция-член)  | |
|   вставка символов  (public функция-член)  | |
|   удаление символов  (public функция-член)  | |
|   добавление символа в конец строки  (public функция-член)  | |
|    (C++11)  | 
  удаляет последний символ  (public функция-член)  | 
|   добавляет символы в конец строки  (public функция-член)  | |
|   добавляет символы в конец строки   (public функция-член)  | |
|   сравнивает две строки  (public функция-член)  | |
|   заменяет каждое вхождение указанного символа  (public функция-член)  | |
|   возвращает подстроку  (public функция-член)  | |
|   копирует символы  (public функция-член)  | |
|   изменяет количество хранимых символов  (public функция-член)  | |
|   обменивает содержимое  (public функция-член)  | |
 Поиск | |
|   поиск символов в строке  (public функция-член)  | |
|   поиск последнего вхождения подстроки  (public функция-член)  | |
|   поиск первого вхождения символов  (public функция-член)  | |
|   найти первое вхождение отсутствия символов  (public функция-член)  | |
|   найти последнее вхождение символов  (public функция-член)  | |
|   найти последнее вхождение отсутствия символов   (public функция-член)  | |
 Константы | |
|    [static]  | 
  специальное значение. Точный смысл зависит от контекста  (public static константа-член)  | 
[править] Функции, не являющиеся членами
|   объединяет две строки или строку и символ  (шаблон функции)  | |
|   лексикографическое сравнение двух строк  (шаблон функции)  | |
|   специализированный для строк std::swap алгоритм  (шаблон функции)  | |
 Ввод/вывод | |
|   выполнение потоков ввода/вывода на строках  (шаблон функции)  | |
|   считывает данные из потока ввода/вывода в строку  (функция)  | |
 Числовые преобразования | |
|    (C++11) (C++11) (C++11)  | 
  преобразует строку в знаковое целое число  (функция)  | 
|    (C++11) (C++11)  | 
  преобразует строку в беззнаковое целое число  (функция)  | 
|    (C++11) (C++11) (C++11)  | 
  преобразует строку в число с плавающей точкой  (функция)  | 
|    (C++11)  | 
  преобразует целое число или число с плавающей точкой в string (функция)  | 
|    (C++11)  | 
  преобразует целое число или число с плавающей точкой в wstring (функция)  | 
[править] Литералы
|   Пространство имён  
std::literals::string_literals  | |
|    (C++14)  | 
   Возвращает basic_string из строки с завершающим нулём  (функция)  | 
[править] Вспомогательные классы
|    (C++11) (C++11) (C++11) (C++11)  | 
  хеширование строк  (специализация шаблона класса)  |