Основной учебник C++20
Начало
Введение
Языки C++ и Си
Компиляция в машинный код
Запуск в онлайн-редакторе
Запуск в среде разработки
Запуск в Linux
Запуск в Windows
Запуск в macOS
Разбор первой программы
Новая строка в выводе
Несколько команд вывода
Однострочные комментарии
Многострочные комментарии
Ошибки в коде
Литералы
Операнды
Переменные
Введение
Объявление переменной
Имена переменных
Изменение значения переменной
Несколько переменных
Копирование значения переменной
Неинициализированная переменная
Повторное объявление переменной
Константа
Зарезервированные слова
Числа
Введение
Целые типы
Беззнаковые целые
Дробные типы
Запись целых
Запись беззнаковых
Запись дробных
Суффиксы типов
Математические операции с числами
Операции с переменными
Целочисленное деление
Деление дробных
Отрицательные числа
Остаток от деления
Целый и дробный ноль
Деление на ноль
Нечисло NaN
Приоритет операций
Равный приоритет
Группирующие скобки
Сокращенные операции
Инкремент и декремент
Префикс и постфикс
Отделение разрядов
Экспоненциальная запись
Переполнение целого
Минус в беззнаковом
Практика
Преобразование типов чисел
Введение
Разные типы
Преобразование в double
Преобразование в int
Явное преобразование типа
Сужение типа
Знак и беззнаковые
Автовывод типа
Практика
Строки
Введение
Юникод
Тип string
Сложение строк
Строка в int
Целое в строку
Дробное в строку
Конкатенация чисел
Строка в long long
Строка в double
Длина строки
Перевод строки
Экранирование
Практика
Символы
Введение
Тип char
Символ и строка
Символ по индексу
Изменение символа
Несколько символов в строку
Цифра в число
Число в символ цифры
Код символа
Соседний символ
Сумма цифр числа
Практика
Логические значения
Введение
Логические значения
Логическое И
Логическое ИЛИ
Логическое отрицание
Приоритет логических операторов
Группировка логических связок
Практика
Условия
Введение
Конструкция if-else
Операторы больше и меньше
Проверка на равенство
Проверка на неравенство
Сравнение переменных
Равенство строк
Проверка символов строки
Равенство строк и чисел
Логическое И
Логическое ИЛИ
Конструкция if-else и булевы значения
Необязательность else
Необязательность фигурных скобок
Проблема необязательности скобок
Конструкция else if
Вложенные if
Область видимости переменной
Конструкция switch
Несколько меток
Необязательность default
Необязательность break
Проверка остатка от деления
Сравнение NaN
Тернарный оператор
Неточные вычисления
Практика
Циклы
Введение
Цикл for
Перебор строки
Цикл for и условие if
Накопление результата в цикле
Инструкция break
Инструкция continue
Работа с флагами
Генерация символов
Цикл while
Цикл while без счетчика
Условие if в цикле while
Цикл do while
Сумма цифр через строку
Сумма цифр через деление
Префикс и постфикс в циклах
Практика на поиск ошибок
Практика
Массивы
Введение
Создание массива
Массив целых чисел
Массив дробей
Массив строк
Массив символов
Отдельный элемент
Задание длины
Длина массива
Последний элемент
Изменение элементов
Инкремент элемента
Условия и первый элемент
Условия и длина массива
Цикл по массиву
Цикл по индексам
Сумма элементов
Накопление результата
Условие в цикле
Подсчет элементов
Изменение массива в цикле
Тип элемента в цикле
Практика
Векторы
Введение
Подключение заголовка вектора
Создание вектора
Пустой вектор
Элемент вектора
Длина вектора
Последний элемент
Изменение элемента
Добавление в конец
Добавление по индексу
Несколько элементов
Добавление массива
Удаление по значению
Удаление по индексу
Удаление последнего
Очистка
Проверка пустоты
Цикл по вектору
Цикл по индексам
Накопление результата
Условие в цикле
Подсчет элементов
Заполнение в цикле
Тип элемента в цикле
Новый вектор из старого
Объединение векторов
Массив в вектор
Вектор в массив
Фильтрация
Константный вектор
Практика
Словари
Введение
Подключение заголовка
Создание словаря
Пустой словарь
Чтение значения
Длина
Изменение значения
Добавление пары
Запись по новому ключу
Удаление ключа
Очистка
Проверка пустоты
Наличие ключа
Пара ключ и значение
Цикл по парам
Чтение пары по именам
Все ключи
Все значения
Наличие значения
Накопление результата
Условие в цикле
Изменение в цикле
Тип в цикле
Практика
Множества
Введение
Подключение заголовка
Создание множества
Пустое множество
Длина
Наличие элемента
Цикл по множеству
Тип элемента в цикле
Повтор не хранится
Добавление элемента
Повторное добавление
Несколько элементов
Удаление элемента
Очистка
Проверка пустоты
Вектор в множество
Массив в множество
Множество в вектор
Сравнение множеств
Практика
Многомерность
Введение
Двумерные массивы
Трехмерные массивы
Многомерные вектора
Многомерные словари
Многомерные комбинации
Цикл по двумерным массивам
Цикл по трехмерным массивам
Цикл по многомерным векторам
Цикл по многомерным словарям
Цикл по многомерным комбинациям
Заполнение многомерных массивов
Заполнение многомерных векторов
Заполнение многомерных словарей
Заполнение многомерных структур
Пирамидки
Практика
Ввод
Введение
Ввод целого
Ввод дробного
Ввод слова
Ввод строки
Несколько значений
Ошибка ввода
Ввод данных в цикле
Массив из ввода
Вектор из ввода
Практика
Функции
Введение
Создание функции
Вызов функции
Несколько вызовов
Параметр
Несколько параметров
Возврат значения
Последовательный вызов
Тип результата
Функция без результата
Досрочный выход
Возврат по условию
Флаги в функциях
Строковый результат
Параметр-вектор
Параметр-словарь
Прототип функции
Значения по умолчанию
Перегрузка
Рекурсия
Практика на поиск ошибок
Практика
Область видимости
Копия числа
Копия вектора
Массив
В условиях
Нюанс в условиях
В циклах
Вложенные циклы
Локальные переменные
Переменные main
Изменение параметра
Одинаковые имена
Совпадение с параметром
Ссылки
Введение
Ссылка на вектор
Ссылка на словарь
Ссылка на множество
Ссылка на массив
Ссылка в цикле
Ссылка в цикле словаря
Ссылка-параметр
Ссылка на вектор в параметре
Константная ссылка
Константная ссылка-параметр
Присваивание в ссылку
Практика
Лямбды
Введение
Создание лямбды
Вызов лямбды
Параметр лямбды
Несколько параметров
Результат лямбды
Тип лямбды
Лямбда в переменной
Без параметров
Лямбда параметром
Практика
Математические функции
Математические константы
Модуль числа
Минимум и максимум
Округление
Степень
Корень
Ограничение числа
Проверка особых чисел
Случайное число
Практика
Текстовые функции
Регистр строки
Проверка строки
Поиск в строке
Замена в строке
Удаление частей
Обрезка пробелов
Разбиение строки
Подстроки
Проверка символа
Практика
Функции коллекций
Сумма и среднее
Минимум и максимум
Сортировка
Обратный порядок
Перемешивание
Уникальные элементы
Подсчет элементов
Поиск элемента
Поиск по условию
Проверка элементов
Практика
Исключения
Введение
Подключение заголовка
try и catch
Типы исключений
Несколько catch
Выбрасывание исключения
Функция с исключением
Практика
Дата и время
Введение
Подключение заголовков
Дата
Время
Дата и время
Текущий момент
Части даты
Создание даты из частей
Разность дат
Прибавление дней
Сравнение дат
Практика