[C++, Учебный процесс в IT] Шаблоны и концепты в С++20

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
15-Апр-2021 17:32

Привет, Хабр!Недавно Егор Суворов, преподаватель курса по С++ в Питерской Вышке, прочитал лекцию о некоторых особенностях языка для участников Всероссийской олимпиады школьников по информатике. Егор рассказал о шаблонах в C++, а также где и зачем они возникают: обобщённое программирование структур данных и алгоритмов, функторы и лямбда-функции, как можно повысить уровень абстракций и упростить код. Важное уточнение: эта лекция — не попытка объять необъятное, а краткий экскурс по полезным возможностям C++ для членов олимпиадного сообщества: от извлечения кода в класс до внутренних механизмов работы лямбда-функций и щепотки ограничений (constraints) из C++20. Если интересно, приглашаем к просмотру.Извините, данный ресурс не поддреживается. :( Подробные таймкоды00:53 — Что нужно знать перед просмотром лекции02:00 — Особенности С++03:10 — Хорошие источники знаний и практик в C++04:45Классы. Стек с минимумом06:21 — Создание своей структуры09:03 — Запрещаем прямой доступ09:53 — Упрощаем отладку10:29Шаблоны классов11:24 — Статический полиморфизм в разных языках12:03 — Оптимизация12:27 — Ошибки компиляции и инстанцирование13:40 — Ограничения (С++20)15:01Шаблоны функций15:27 — Автовывод параметров16:21 — Class Template Argument Deduction (CTAD, С++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 — IIFE33:18 — Вектор лямбд и стирание типов (type erasure)34:36 — Функтор как параметр функции35:51 — Функтор как поле класса37:45 — Более сложные структуры данных (декартово дерево, дерево отрезков)38:34За кадром: лямбды-компараторы39:48За кадром: более сложные шаблоны41:23 — Студенческие проекты на C++ (в прошлом году рассказывали о проектах наших первокурсниках)Если у вас остались вопросы, смело задавайте их в комментариях или лично Егору.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_c++, #_uchebnyj_protsess_v_it (Учебный процесс в IT), #_olimpiadnoe_programmirovanie (олимпиадное программирование), #_vserossijskaja_olimpiada (всероссийская олимпиада), #_shablony (шаблоны), #_obobschennoe_programmirovanie (обобщенное программирование), #_funktory (функторы), #_ljambdafunktsii (лямбда-функции), #_vshe_spb (вшэ спб), #_hse_spb, #_blog_kompanii_obrazovatelnye_proekty_jetbrains (
Блог компании Образовательные проекты JetBrains
)
, #_c++, #_uchebnyj_protsess_v_it (
Учебный процесс в IT
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:33
Часовой пояс: UTC + 5