string — заголовочный файл с классами, функциями и переменными для организации работы со строками в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от имени строчного типа данных (англ. string). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки строкового типа данных, вместо этого используется массив символов. string управляет строками, как и string.h в Си. string использует единственный объект string для организации работы со строками. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён — std.

Методы

Конструктор

Публичная функция

string();

Создает пустую строку

string(const string& str);

Копирующий конструктор

string(const string& str, size_t pos, size_t len = npos);

Копирующий конструктор со смещением и определенной длинной считываемой строки

string(const char* s);

Конструктор принимающий указатель на строку символов

string(const char* s, size_t n);

Конструктор принимающий указатель на строку символов с ограничением по длине считываемой строки

string(size_t n, char c);

Конструктор заполняющий одним символом n ячеек

template <class InputIterator> string(InputIterator first, InputIterator last);

Конструктор копирующий последовательность символов в диапозоне

string(initializer_list<char> il);

Конструктор копирующий инициализирующий список

string(string&& str) noexcept;

Конструктор получающий содержимое строки

Деструктор

String destructor (public member function )

Оператор присваивания

string& operator= (const string& str);

Оператор реализующий присваивание переменной типа string

string& operator= (const char* s);

Оператор реализующий присваивание указателя на строку

string& operator= (char c);

Оператор реализующий присваивание переменной типа char

string& operator= (initializer_list<char> il);

Оператор реализующий присваивание к списку инициализации из типов char

string& operator= (string&& str) noexcept;

Оператор реализующий перемещение[неопределённость] содержания переменной внутрь левого значения

Итераторы

begin()

Возвращает итератор с первым элементом

end()

Возвращает итератор с последним элементом

rbegin()

Возвращает итератор с последним элементом, но идущим в реверсивном порядке (от конца к началу)

rend()

Возвращает итератор с первым элементом, но идущим в реверсивном порядке (от конца к началу)

cbegin()

Возвращает константный итератор с первым элементом

cend()

Возвращает константный итератор с последним элементом

crbegin()

Возвращает константный итератор с последним элементом, но идущим в реверсивном порядке (от конца к началу)

crend()

Возвращает константный итератор с первым элементом, но идущим в реверсивном порядке (от конца к началу)

Методы

size_t size() const noexcept

Возвращает текущую длину строки

size_t length() const noexcept

Возвращает текущую длину строки

size_t max_size() const noexcept

Возвращает максимально возможную длину строки

void resize(size_t n);

Изменяет размер длины строки

void resize(size_t n, char c);

Изменяет размер длины строки и заполняет строку указанным символом

size_t capacity() const noexcept

Возвращает длину строки выделенной памяти.

void reserve(size_t n = 0)

Резервирует память для n символов.

void clear() noexcept

Очищает строку.

bool empty() const noexcept

Возвращает булев флаг о том, пуста ли строка.

shrink_to_fit()