СПРАВОЧНИК

C++ STL

Контейнеры, алгоритмы, строки

Алфавитный справочник по стандартной библиотеке шаблонов C++ (STL). Здесь собраны самые востребованные методы строк, контейнеров (vector, map, set и др.), алгоритмы из <algorithm> и утилиты. Каждая запись содержит сигнатуру, краткое описание и рабочий пример с указанием результата.

Алгоритмы (algorithm) 16

std::accumulate()
T std::accumulate(first, last, init)Суммирует элементы диапазона (из &lt;numeric&gt;).
std::binary_search()
bool std::binary_search(first, last, value)Проверяет наличие значения в отсортированном диапазоне.
std::copy()
iterator std::copy(first, last, dest)Копирует элементы диапазона в место назначения.
std::count()
int std::count(first, last, value)Считает, сколько раз значение встречается в диапазоне.
std::fill()
std::fill(first, last, value)Заполняет диапазон одним значением.
std::find()
iterator std::find(first, last, value)Ищет значение в диапазоне, возвращает итератор.
std::for_each()
std::for_each(first, last, func)Вызывает функцию для каждого элемента диапазона.
std::lower_bound()
iterator std::lower_bound(first, last, value)Первый элемент &gt;= value в отсортированном диапазоне.
std::max_element()
iterator std::max_element(first, last)Возвращает итератор на максимальный элемент диапазона.
std::min_element()
iterator std::min_element(first, last)Возвращает итератор на минимальный элемент диапазона.
std::next_permutation()
bool std::next_permutation(first, last)Переставляет диапазон в следующую перестановку.
std::reverse()
std::reverse(first, last)Меняет порядок элементов диапазона на обратный.
std::sort()
std::sort(first, last, comp = less)Сортирует диапазон по возрастанию или по компаратору.
std::transform()
iterator std::transform(first, last, dest, op)Применяет функцию к каждому элементу и пишет результат.
std::unique()
iterator std::unique(first, last)Удаляет подряд идущие дубликаты, возвращает новый конец.
std::upper_bound()
iterator std::upper_bound(first, last, value)Первый элемент &gt; value в отсортированном диапазоне.

Вектор (vector) 14

std::vector::at()
T& v.at(index)Доступ к элементу по индексу с проверкой границ.
std::vector::back()
T& v.back()Возвращает ссылку на последний элемент.
std::vector::begin()
iterator v.begin()Итератор на первый элемент вектора.
std::vector::clear()
void v.clear()Удаляет все элементы, делая вектор пустым.
std::vector::empty()
bool v.empty()Проверяет, пуст ли вектор.
std::vector::end()
iterator v.end()Итератор на позицию ЗА последним элементом.
std::vector::erase()
iterator v.erase(pos)Удаляет элемент по итератору (или диапазон).
std::vector::front()
T& v.front()Возвращает ссылку на первый элемент.
std::vector::insert()
iterator v.insert(pos, value)Вставляет элемент перед итератором pos.
std::vector::pop_back()
void v.pop_back()Удаляет последний элемент вектора.
std::vector::push_back()
void v.push_back(value)Добавляет элемент в конец вектора.
std::vector::reserve()
void v.reserve(n)Резервирует ёмкость под n элементов заранее.
std::vector::resize()
void v.resize(n, value = T())Меняет размер вектора до n элементов.
std::vector::size()
size_t v.size()Возвращает количество элементов в векторе.

Итераторы 2

Контейнеры (обзор) 10

Строки (string) 15

std::getline()
istream& std::getline(in, str, delim = '\n')Читает строку из потока целиком, до разделителя.
std::stod()
double std::stod(str, pos = nullptr)Преобразует строку в число с плавающей точкой double.
std::stoi()
int std::stoi(str, pos = nullptr, base = 10)Преобразует строку в целое число int.
std::string::append()
string& s.append(str)Добавляет строку в конец; аналог оператора +=.
std::string::compare()
int s.compare(str)Лексикографически сравнивает строки: 0, &lt;0 или &gt;0.
std::string::c_str()
const char* s.c_str()Возвращает C-строку (указатель на массив с '\0' в конце).
std::string::erase()
string& s.erase(pos, len)Удаляет len символов начиная с позиции pos.
std::string::find()
size_t s.find(str, pos = 0)Ищет подстроку и возвращает её позицию или string::npos.
std::string::insert()
string& s.insert(pos, str)Вставляет строку в позицию pos, сдвигая остаток вправо.
std::string::length()
size_t s.length()Возвращает длину строки; синоним size().
std::string::push_back()
void s.push_back(ch)Добавляет один символ в конец строки.
std::string::replace()
string& s.replace(pos, len, str)Заменяет часть строки [pos, pos+len) на другую строку.
std::string::size()
size_t s.size()Возвращает количество символов (байт) в строке.
std::string::substr()
string s.substr(pos, len)Возвращает подстроку, начиная с позиции pos длиной len.
std::to_string()
string std::to_string(value)Преобразует число в строку.

Утилиты 8

Поддержать проект