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) |
хеширование строк (специализация шаблона класса) |