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()