Привет, Хабр! Недавно Егор Суворов , преподаватель курса 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++ #шаблоны #олимпиадное программирование #обобщенное программирование #НИУ ВШ? Санкт-Петербург #ВШ? СПб #лямбда-функции #функторы #Всероссийская олимпиада
-
Отправка Документов «По Старинке»
19 Oct, 24 -
Кто Такие Ит-Аналитики И Чем Они Занимаются?
19 Oct, 24 -
Ошибки Разработчиков При Тестировании Mmo
19 Oct, 24 -
Ux/Ui Дизайн Нового Vs 2019
19 Oct, 24 -
Экстренная Миграция «Русхимсеть»
19 Oct, 24