Класс basic_string
Последовательности, управляемые объектом класса шаблона basic_string, являются строковым классом стандарта C++ и обычно называются просто строками, но их не следует путать с C-строками, оканчивающимися нулевым символом, в библиотеке Standard C++. Стандартная строка C++ является контейнером, позволяющим использовать строки как обычные типы, например, в операциях сравнения и сцепления, итераторах, алгоритмах STL, а также копировать и назначать с помощью управляемой памяти распределителя класса. Если необходимо преобразовать стандартную строку C++ в C-строку, оканчивающуюся нулевым символом, используйте член basic_string::c_str.
template <class CharType, class Traits = char_traits<CharType>, class Allocator = allocator<CharType>> class basic_string;
Параметры
CharType
Тип данных одиночного символа, сохраняемого в строке. Библиотека Standard C++ предоставляет специализации этого класса шаблона с определениями типа string для элементов типа char, wstring для wchar_t, u16string для char16_t и u32string для char32_t.Traits
Различные важные свойства элементов CharType в специализации basic_string описываются классом Traits. Значение по умолчанию — char_traits<CharType>.Allocator
Тип, представляющий сохраненный объект распределителя, содержащий сведения о распределении строки и отмене распределения памяти. Значение по умолчанию — allocator<CharType>.
Конструкторы
Создает пустую строку или строку, инициализируемую с определенными символами, или представляющую собой полную или частичную копию какого-либо другого строкового объекта или С-строки. |
Определения типов
Тип, представляющий класс allocator для объекта строки. |
|
Тип, предоставляющий итератор произвольного доступа, который может читать элемент const в списке. |
|
Тип, предоставляющий указатель на элемент const в списке. |
|
Тип, предоставляющий ссылку на элемент const, хранящийся в строке, для чтения и выполнения операций const. |
|
Тип, предоставляющий итератор произвольного доступа, который может читать любой элемент const в строке. |
|
Тип, предоставляющий разницу между двумя итераторами, ссылающимися на элементы в одной и той же строке. |
|
Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в строке. |
|
Интегральное значение без знака, которое инициализируется со значением –1, что означает «не найдено» или «все остальные символы» при сбое функции поиска. |
|
Тип, предоставляющий указатель на символьный элемент в строке или символьном массиве. |
|
Тип, предоставляющий ссылку на элемент в строке. |
|
Тип, предоставляющий итератор произвольного доступа, который может читать или изменять любой элемент в обратной строке. |
|
Интегральный тип без знака для количества элементов в строке. |
|
Тип, представляющий признаки символов для элементов, хранящихся в строке. |
|
Тип, представляющий тип символов, хранящихся в строке. |
Функции-члены
Добавляет символы в конец строки. |
|
Назначает значения новых символов содержимому строки. |
|
Возвращает ссылку на элемент в заданном положении в строке. |
|
Возвращает итератор, адресующий первый элемент в строке. |
|
Преобразует содержимое строки в С-строку, оканчивающуюся нулевым символом. |
|
Возвращает наибольшее количество элементов, которые можно хранить в строке без увеличения выделения памяти этой строки. |
|
Возвращает константный итератор, адресующий первый элемент в строке. |
|
Возвращает константный итератор, адресующий расположение после последнего элемента в строке. |
|
Удаляет все элементы строки. |
|
Сравнивает строку с указанной строкой, чтобы определить их равенство или установить, что одна из строк лексикографически меньше второй. |
|
Копирует не более указанного количества символов из индексированного положения в исходной строке в массив символов назначения. Не рекомендуется. Взамен рекомендуется использовать basic_string::_Copy_s. |
|
Возвращает константный итератор, адресующий первый элемент в обратной строке. |
|
Возвращает константный итератор, адресующий расположение после последнего элемента в обратной строке. |
|
Копирует не более указанного количества символов из индексированного положения в исходной строке в массив символов назначения. |
|
Преобразует содержимое строки в массив символов. |
|
Проверяет, содержит ли строка символы. |
|
Возвращает итератор, адресующий расположение после последнего элемента в строке. |
|
Удаляет элемент или диапазон элементов с указанного положения в строке. |
|
Поиск по строке в прямом направлении до первого вхождения подстроки, совпадающей с заданной последовательностью символов. |
|
Выполняет поиск первого символа в строке, не совпадающего ни с одним элементом заданной строки. |
|
Выполняет поиск первого символа в строке, совпадающего с любым элементом заданной строки. |
|
Выполняет поиск последнего символа в строке, не совпадающего ни с одним элементом заданной строки. |
|
Выполняет поиск последнего символа в строке, совпадающего с любым элементом заданной строки. |
|
Возвращает ссылку на первый элемент в строке. |
|
Возвращает копию объекта объекта allocator, использованного для создания строки. |
|
Вставляет элемент или количество элементов или диапазон элементов в указанное положение в строке. |
|
Возвращает текущее количество элементов в строке. |
|
Возвращает максимальное количество символов в строке. |
|
Удаляет последний элемент строки. |
|
Добавляет элемент в конец строки. |
|
Возвращает итератор на первый элемент в обратной строке. |
|
Возвращает итератор, адресующий расположение после последнего элемента в обратной строке. |
|
Заменяет элементы в указанном положении в строке на указанные символы или символы, скопированные из других диапазонов, обычных строк или С-строк. |
|
Устанавливает вместимость строки не меньше указанного числа. |
|
Указывает новый размер строки, добавляя или удаляя элементы по мере необходимости. |
|
Поиск по строке в обратном направлении до первого вхождения подстроки, совпадающей с заданной последовательностью символов. |
|
Удаляет излишнюю вместимость строки. |
|
Возвращает текущее количество элементов в строке. |
|
Копирует из указанного положения в строке подстроку, содержащую по крайней мере несколько символов. |
|
Меняет местами содержимое двух строк. |
Операторы
Присоединяет символы к строке. |
|
Назначает значения новых символов содержимому строки. |
|
Предоставляет ссылку на символ с указанным индексом в строке. |
Заметки
Если функция должна создать последовательность, длина которой превышает max_size элементов, функция выдает сообщение об ошибке длины, создавая объект типа length_error.
Ссылки, указатели и итераторы, обозначающие элементы управляемой последовательности, могут стать недействительными после любого вызова функции, изменяющей управляемую последовательность, или после первого вызова неконстантной функции-члена.
Требования
Заголовок: <string>
Пространство имен: std