Пространства имён
Варианты
Действия

std::basic_string

Материал из cppreference.com
< cpp‎ | string
 
 
Строки
Байтовые строки с завершающим нулем
Однобайтовые строки
Многобайтовые строки
Широкие строки
Классы
basic_string
char_traits
 
std::basic_string
Функции-члены
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Доступ к элементам
basic_string::at
basic_string::operator[]
basic_string::front(C++11)
basic_string::back(C++11)
basic_string::data
basic_string::c_str
Итераторы
basic_string::begin
basic_string::cbegin

(C++11)
basic_string::end
basic_string::cend

(C++11)
basic_string::rbegin
basic_string::crbegin

(C++11)
basic_string::rend
basic_string::crend

(C++11)
Вместимость
basic_string::empty
basic_string::size
basic_string::length
basic_string::max_size
basic_string::reserve
basic_string::capacity
basic_string::shrink_to_fit(C++11)
Операции
basic_string::clear
basic_string::insert
basic_string::erase
basic_string::push_back
basic_string::pop_back(C++11)
basic_string::append
basic_string::operator+=
basic_string::compare
basic_string::replace
basic_string::substr
basic_string::copy
basic_string::resize
basic_string::swap
Поиск
basic_string::find
basic_string::rfind
basic_string::find_first_of
basic_string::find_first_not_of
basic_string::find_last_of
basic_string::find_last_not_of
Константы
basic_string::npos
Функции, не являющиеся членами
operator+
operator==
operator!=
operator<
operator>
operator<=
operator>=
swap(std::basic_string)
operator<<
operator>>
getline
stoi
stol
stoll
(C++11)
(C++11)
(C++11)
stoul
stoull
(C++11)
(C++11)
stof
stod
stold
(C++11)
(C++11)
(C++11)
to_string(C++11)
to_wstring(C++11)
Вспомогательные классы
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
Определено в заголовочном файле <string>
template<

    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>

> class basic_string;

Шаблон класса basic_string хранит и управляет последовательностью char-подобных объектов. Класс не зависит ни от используемого символьного типа, ни от природы операций над этим типом. Определения этих операций передаются через параметр шаблона Traits, являющийся специализацией std::char_traits или любым другим совместимым классом свойств.

Элементы basic_string хранятся непрерывно, иными словами для basic_string s, справедливо &*(s.begin() + n) == &*s.begin() + n для любого n в диапазоне [0, s.size()), или, что идентично, указатель на s[0] может быть передан в функцию, которая ожидает указатель на первый элемент массива charT[].

(начиная с 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 функция-член) [править]
Итераторы
Возвращает итератор на первый элемент
(public функция-член) [править]

(C++11)
Возвращает итератор на элемент, следующий за последним
(public функция-член) [править]
Возвращает обратный итератор на первый элемент
(public функция-член) [править]
Возвращает обратный итератор на элемент, следующий за последним
(public функция-член) [править]
Вместимость
проверяет, является ли строка пустой
(public функция-член) [править]
возвращает количество символов в строке
(public функция-член) [править]
возвращает максимальное количество символов
(public функция-член) [править]
резервирует место под хранение
(public функция-член) [править]
возвращает количество символов, которые могут содержаться в текущем выделенном хранилище
(public функция-член) [править]
уменьшает использование памяти, освобождая неиспользуемую память
(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
(функция) [править]
преобразует целое число или число с плавающей точкой в wstring
(функция) [править]

[править] Литералы

Пространство имён std::literals::string_literals
Возвращает basic_string из строки с завершающим нулём
(функция) [править]

[править] Вспомогательные классы

хеширование строк
(специализация шаблона класса) [править]