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 (функция) |
[править] Литералы
| Defined in namespace
std::literals::string_literals | |
| (C++14) |
Возвращает basic_string из строки с завершающим нулём (функция) |
[править] Вспомогательные классы
| (C++11) (C++11) (C++11) (C++11) |
хеширование строк (специализация шаблона класса) |