Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)

Высший учебник C++20

Регулярные выражения

Введение Операторы повторения Группирующие скобки Экранировка спецсимволов Фигурные скобки Ограничение жадности Группы символов Наборы символов Инвертирование наборов символов Особенности кириллицы Спецсимволы внутри наборов Группы символов внутри наборов Спецсимволы-исключения внутри наборов Символ шляпки внутри наборов Особенности дефиса внутри наборов Начало и конец строки Граница слов Многострочность Команда 'или' Поиск совпадения Позиция найденного Карманы при поиске Карманы через группы Все карманы списком Именованные карманы Карманы в строке замены Экранирование номера кармана Все совпадения Карманы во всех совпадениях Перебор совпадений Карманы при переборе Именованные карманы при переборе Полное совпадение Карманы при полном совпадении Совпадение с начала строки Карманы при совпадении с начала Замена совпадений Замена первого совпадения Разбиение строки Несохраняющие скобки Просмотр вперед и назад Флаги в строке RegexOption Практика Задачи на шаблоны

Итераторы

Введение Категории Обратный Константный Сдвиг Следующий Предыдущий Расстояние Вставка в конец Вставка в начало Вставка в позицию Вывод через итератор Ввод через итератор Перемещающий итератор Практика

Алгоритмы

Введение Обмен значений Равенство диапазонов Первое расхождение Словарное сравнение Поиск подпоследовательности Поиск с конца Поиск из набора Соседние совпадения Повтор подряд Верхняя граница Диапазон равных Слияние Слияние на месте Проверка вхождения Симметричная разность Частичная сортировка Элемент на позиции Проверка сортировки Проверка перестановки Следующая перестановка Предыдущая перестановка Циклический сдвиг Сдвиг влево Замена значения Замена по условию Заполнение генератором Копирование назад Перенос диапазона Скалярное произведение Частичные суммы Разности соседей Последовательные номера Свертка диапазона Преобразование и свертка Накопительное сканирование Сканирование без текущего Удаление по условию Практика

Диапазоны

Введение Все элементы Конвейер Фильтр Преобразование Проекция Взять первые Пропустить первые Пока условие Пропуск пока Разворот Склейка Разбиение Ключи Значения Элемент пары Числовой ряд Один элемент Пустой диапазон Заданная длина Ввод как диапазон Вызов алгоритма диапазона Общий диапазон Поддиапазон Повисший диапазон Практика

Массив фиксированной длины

Введение Создание Длина Элемент Проверка индекса Края Заполнение Сравнение Указатель на данные Имена элементов Вектор из массива Практика

Двусторонняя очередь

Введение Создание Добавление в конец Добавление в начало Элемент по индексу Края Удаление с конца Удаление с начала Длина Вставка в середину Удаление по индексу Отличие от вектора Практика

Связные списки

Введение Создание списка Добавление в начало Добавление в конец Края Вставка по итератору Удаление по итератору Длина Перенос узлов Сортировка списка Разворот Удаление соседей Односвязный список Вставка после Удаление после Практика

Узлы словаря

Введение Извлечение узла Вставка узла Слияние Запись или замена Вставка без замены Создание на месте Прозрачный поиск Границы Диапазон равных Практика

Хеш-таблицы

Введение Несортированный словарь Несортированное множество Корзина Коэффициент заполнения Перестроение Своя хеш-функция Свое равенство Практика

Повторяющиеся ключи

Введение Множество с повторами Словарь с повторами Число равных Диапазон одного ключа Удаление одного Практика

Адаптеры контейнеров

Введение Стек Пустой стек Очередь Пустая очередь Очередь с приоритетом Снятие максимума Практика

Пара и кортеж

Введение Создание пары Поля пары Имена пары Сравнение пар Кортеж Чтение по номеру Имена кортежа Сравнение кортежей Распаковка в переменные Практика

Необязательное и вариант

Введение Пустое значение Проверка наличия Чтение значения Запасное значение Запись в пустое Сброс Вариант Какой тип лежит Чтение варианта Безопасное чтение Любое значение Извлечение типа Пустой any Практика

Просмотр строки

Введение Из литерала Из строки Длина просмотра Символ по индексу Часть просмотра Сдвиг начала Сдвиг конца Сравнение Повисший просмотр Практика

Представление массива

Введение Кусок массива Кусок вектора Длина Края куска Подкусок Фиксированная длина Байты Практика

Строковые потоки

Введение Запись в строку Чтение из строки Несколько значений Чтение числа Чтение слова Остаток потока Ошибка разбора Практика

Формат потока

Введение Десятичный вид Шестнадцатеричный вид Восьмеричный вид Основание в выводе Логическое значение текстом Ширина поля Символ заполнения Точность Фиксированная дробь Экспонента Сброс буфера Перевод строки со сбросом Поток ошибок Практика

Строки C++

Введение Строковый литерал Длина Копирование Копирование с пределом Сравнение Сравнение с пределом Склейка Поиск символа Поиск подстроки Указатель из string Форматированный вывод Форматированный ввод Запись в буфер Копирование памяти Перенос памяти Заполнение памяти Сравнение памяти Указатель без типа Широкий символ Символ UTF-8 Практика

Биты

Введение Байт Создание набора Установка и сброс Проверка бита Переключение Набор в строку Набор в число Поразрядные операции Число установленных Число единиц Нули слева Нули справа Вращение Порядок байтов Приведение битов Практика

Числа

Введение Границы типа Число разрядов Машинное эпсилон Границы дроби Комплексное число Арифметика Модуль и аргумент Наибольший общий делитель Наименьшее общее кратное Середина Интерполяция Сравнение знаков Практика

Время

Введение Приведение длительности Приведение момента Округление Часы минуты секунды Локальное время Приведение часов Часы файла Своя единица Практика

Файловая система

Введение Текущий каталог Канонический путь Слабый канонический путь Относительный путь Ближний путь Одинаковые пути Символическая ссылка Чтение ссылки Жесткая ссылка Место на диске Изменение размера Временный каталог Практика

Умные указатели

Введение Доступ к адресу Отдача владения Сброс указателя Свой удалитель Общий удалитель Указатель на массив Общий указатель из объекта Разделение владения Цикл слабых указателей Общий блок памяти Порядок владельцев Практика

Сравнение

Введение Трехстороннее сравнение Сравнение по умолчанию Равенство по умолчанию Сильный порядок Слабый порядок Частичный порядок Синтез операторов Практика

Инициализация

Введение Список инициализации Обход списка Параметр-список Назначенные инициализаторы Вложенные инициализаторы Пропуск копирования Практика

Шаблоны

Введение Шаблон функции Вывод аргументов Несколько параметров типа Явный аргумент типа Шаблон класса Метод шаблона Параметр-число Параметр-авто Значение по умолчанию Полная специализация Частичная специализация Шаблон в заголовке Псевдоним шаблона Шаблон переменной Шаблон шаблонного параметра Зависимое имя Тип выражения Тип переменной Хвостовой тип возврата Тип по авто Проводник вывода Шаблон рекурсивного наследника Практика

Константы компиляции

Введение Константа компиляции Функция компиляции Конструктор компиляции Обязательная функция компиляции Инициализация при компиляции Ветка при компиляции Отбрасывание ветки Проверка при компиляции Проверка времени выполнения Практика

Концепты

Введение Именованное требование Требование у функции Требование у класса Выражение-требование Составное требование Вложенное требование Требование типа Короткий шаблон Целый тип Дробный тип Одинаковые типы Преобразуемые типы Наследник Вызываемый объект Предикат Диапазон Более сильное требование Практика

Пакеты параметров

Введение Пакет типов Раскрытие в вызове Раскрытие в списке Размер пакета Свертка сложением Свертка запятой Пустой пакет Ссылка пересылки Пересылка аргумента Практика

Вызываемые объекты

Введение Указатель на функцию Параметры указателя Указатель на метод Указатель на поле Вызов через обертку Обертка вызываемого Лямбда в обертке Обобщенная лямбда Изменяемый захват Захват с начальным значением Единый вызов Практика

Исключения

Введение Запрет исключений Условие запрета Нарушение запрета Повторный бросок Захват исключения Повтор из захвата Код ошибки Категория ошибки Системная ошибка Практика

Поиск имен

Введение Пространство аргумента Друг и поиск Обмен через поиск Два пространства Внешнее объявление Внутреннее связывание Практика

Препроцессор

Введение Макрос Макрос с параметром Макрос на несколько строк Снятие макроса Проверка определения Проверка отсутствия Ветка препроцессора Файл и строка Функция в макросе Строка из аргумента Склейка лексем Страж одной директивой Текущее место в коде Практика

Наследование

Введение Повтор базового класса Виртуальный базовый класс Кто строит виртуальную базу Порядок виртуальных баз Имя типа во время выполнения Сравнение имен типов Поднятие скрытой функции Поднятие скрытого поля Ковариантный тип возврата Практика

Низкоуровневые средства

Введение Обязательное использование результата Неиспользуемое имя Устаревшее имя Пометка провала Вероятная ветка Маловероятная ветка Функция без возврата Поле без уникального адреса Снятие константности Приведение указателя Приведение в стиле Си Объединение Активный член объединения Битовое поле Выравнивание типа Выравнивание объекта Размещение в готовой памяти Явный вызов деструктора Изменчивая переменная Оператор запятая Практика

Потоки выполнения

Введение Запуск потока Ожидание завершения Отсоединение Номер потока Поток с остановкой Источник остановки Токен остановки Запрос остановки Действие при остановке Гонка данных Мьютекс Захват на время блока Гибкий захват Захват нескольких Рекурсивный мьютекс Мьютекс с таймаутом Общий мьютекс Общий захват Атомарная переменная Сложение атомарной Обмен по условию Последовательный порядок Захват и освобождение Ослабленный порядок Ожидание атомарной Асинхронный запуск Готовый результат Обещание результата Упакованная задача Общий результат Ожидание условия Ожидание с проверкой Пробуждение одного Пробуждение всех Однократный вызов Семафор Захват семафора Защелка Барьер Уступка кванта Практика

Модули

Введение Объявление модуля Экспорт Импорт Экспорт группы Раздел модуля Глобальный фрагмент Закрытый фрагмент Практика

Сопрограммы

Введение Отдача значения Возврат из сопрограммы Ожидание Тип обещания Объект результата Начальная приостановка Конечная приостановка Прием отданного значения Прием возврата Генератор Практика

Сериализация

Введение Подключение библиотеки Запись в строку Чтение из строки Имя поля Вложенный объект Список значений Значение по умолчанию Несколько форм Практика

База данных

Введение Драйвер Соединение Создание таблицы Вставка Выборка Параметры запроса Условие выборки Одна запись и пустой результат Часть полей Обновление Удаление Сортировка Ограничение Сводка Группировка Пустое поле Транзакция Ошибка запроса Продвинутые запросы Практика

Связи таблиц

Связывание таблиц Внешний ключ Один ко многим Получение данных из связанных таблиц Выборка связанных Запись без пары Цепочка связанных таблиц Связывание через таблицу связи Выборка через связь Родственные связи Несколько потомков Двойная связь Практика

Практика базы

Просмотр Добавление Правка Удаление Две таблицы Смешанные

XML

Введение Текст тега Группа тегов Атрибут Атрибуты группы Вложенный тег Группа с вложенностью Имя с дефисом Сборка документа Практика

HTTP-запросы

Введение Чтение тела Код статуса Параметры адреса Заголовки запроса Заголовки ответа Запрос POST Переход по редиректу Таймаут Практика

Запросы к API

Введение Разбор тела Один ресурс Список Идентификатор в пути Отправка JSON Ключ доступа Ошибочный ответ Практика

Почта

Введение Библиотека Простое письмо Тема и отправитель Несколько получателей Письмо с разметкой Вложение Ошибка отправки Практика

Сокеты

Введение Клиент Сервер Обмен в одном запуске Несколько сообщений подряд Практика

UDP

Введение Отправка пакета Прием пакета Ответ отправителю Обмен в одном запуске Несколько пакетов подряд Практика

WebSocket

Введение Библиотека Сервер Клиент Обмен в одном запуске Несколько сообщений подряд Рассылка Закрытие Практика
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить