Читаем C++17 STL Стандартная библиотека шаблонов полностью

C++17 STL Стандартная библиотека шаблонов

С++ — объектно-ориентированный язык программирования, без которого сегодня немыслима промышленная разработка ПО. В этой замечат…

Яцек Галовиц

Компьютеры и Интернет / Программирование, программы, базы данных 18+

Создаем сложные предикаты с помощью логической конъюнкции

Вызываем несколько функций с одинаковыми входными данными

Реализуем функцию transform_if с применением std::accumulate и лямбда-выражений

Генерируем декартово произведение на основе любых входных данных во время компиляции

Глава 5. Основы работы с алгоритмами STL

Введение

Копируем элементы из одних контейнеров в другие

Сортируем контейнеры

Удаляем конкретные элементы из контейнеров

Преобразуем содержимое контейнеров

Выполняем поиск элементов в упорядоченных и неупорядоченных векторах

Ограничиваем допустимые значения вектора конкретным численным диапазоном с помощью std::clamp

Находим шаблоны в строках с помощью функции std::search и выбираем оптимальную реализацию

Делаем выборку данных из крупных векторов

Выполняем перестановки во входных последовательностях

Инструмент для слияния словарей

Глава 6. Сложные случаи использования алгоритмов STL

Введение

Реализуем класс префиксного дерева с использованием алгоритмов STL

Создаем генератор поисковых подсказок с помощью префиксных деревьев

Реализуем формулу преобразования Фурье с применением численных алгоритмов STL

Определяем ошибку суммы двух векторов

Реализуем отрисовщик множества Мандельброта в ASCII

Создаем собственный алгоритм split

Создаем полезные алгоритмы на основе стандартных алгоритмов gather

Удаляем лишние пробелы между словами

Компрессия и декомпрессия строк

Глава 7. Строки, классы потоков и регулярные выражения

Введение

Создание, конкатенация и преобразование строк

Удаляем пробелы из начала и конца строк

Преимущества использования std::string без затрат на создание объектов std::string

Считываем значения из пользовательского ввода

Подсчитываем все слова из пользовательского ввода

Форматируем ваши выходные данные с помощью манипуляторов потока ввода-вывода

Инициализируем сложные объекты из файла вывода

Заполняем контейнеры с применение итераторов std::istream

Выводим любые данные на экран с помощью итераторов std::ostream

Перенаправляем выходные данные в файл для конкретных разделов кода

Создаем пользовательские строковые классы путем наследования std::char_traits

Токенизация входных данных с помощью библиотеки для работы с регулярными выражениями

Удобный и красивый динамический вывод чисел на экран в зависимости от контекста

Перехватываем читабельные исключения для ошибок потока std::iostream

Глава 8. Вспомогательные классы

Введение

Преобразуем единицы измерения времени с помощью std::ratio

Похожие книги