Шаблоны И Концепции В C++20

Привет, Хабр! Недавно Егор Суворов , преподаватель курса C++ Санкт-Петербургская ВШ? , прочитал лекцию о некоторых особенностях языка для участников Всероссийская олимпиада школьников.

в информатике.

Егор рассказал о шаблонах в C++, а также о том, где и почему они возникают: обобщенное программирование структур данных и алгоритмов, функторы и лямбда-функции, как можно повысить уровень абстракций и упростить код. Важное уточнение: данная лекция — не попытка объять необъятное, а краткий экскурс в полезные возможности C++ для участников олимпиадного сообщества: от извлечения кода в класс до внутренних механизмов лямбда-функций и щепотки ограничений.

из С++20. Если вам интересно, приглашаем вас к просмотру.

Подробные таймкоды 00:53 — Что нужно знать перед просмотром лекции 02:00 — Особенности C++ 03:10 — Хорошие источники знаний и практики по C++.

04:45 Классы.

Стек с минимумом 06:21 — Создание собственной структуры 09:03 — Мы запрещаем прямой доступ 09:53 — Упрощение отладки 10:29 Шаблоны классов 11:24 — Статический полиморфизм в разных языках 12:03 — Оптимизация 12:27 — Ошибки компиляции и создания экземпляров 13:40 — Ограничения (C++20) 15:01 Шаблоны функций 15:27 — Автоматический вывод параметров 16:21 — Вывод аргументов шаблона класса (CTAD, C++17) 16:56 — Ошибки компиляции и создания экземпляров 17:47 — Обобщенное программирование 19:12 — Вложенные типы 20:10 — Передовые методы 20:33 Функторы 21:00 — Функциональные объекты 21:56 — В качестве параметра шаблона 22:30 — Функторы с состоянием 23:26 — Функторы с состоянием для контейнеров 24:42 Лямбда-выражения 25:38 — Лямбда-декодирование 26:28 — Сохранение в переменную 27:27 - Рекурсия не поддерживается.

27:56 — Захватывает по значению и ссылке 29:18 - Захват с инициализатором 30:29 — Комбинированные захваты 31:16 Использование функторов 32:15 —IIFE 33:18 — Лямбда-вектор и стирание типа 34:36 — Функтор как параметр функции 35:51 — Функтор как поле класса 37:45 — Более сложные структуры данных ( декартово дерево , дерево сегментов ) 38:34 За кадром: лямбда-компараторы 39:48 За кулисами: более сложные модели 41:23 — Студенческие проекты на C++ (в прошлом году сказал о наших первокурсных проектах) Если у вас есть вопросы, смело задавайте их в комментариях или лично.

Егор .

Теги: #Образовательный процесс в ИТ #C++ #шаблоны #олимпиадное программирование #обобщенное программирование #НИУ ВШ? Санкт-Петербург #ВШ? СПб #лямбда-функции #функторы #Всероссийская олимпиада

Вместе с данным постом часто просматривают: