[C++, Учебный процесс в IT] Шаблоны и концепты в С++20
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет, Хабр!Недавно Егор Суворов, преподаватель курса по С++ в Питерской Вышке, прочитал лекцию о некоторых особенностях языка для участников Всероссийской олимпиады школьников по информатике. Егор рассказал о шаблонах в 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
===========
Похожие новости:
- [Учебный процесс в IT, Физика, Мозг, Химия] 10 бесплатных и полезных курсов в сети, от Фейнмана до Ына (перевод)
- [JavaScript, Программирование, ReactJS, Учебный процесс в IT] React: наглядное пособие для начинающих. Создаем свой компонент без знаний JavaScript (перевод)
- [.NET, C++, C#] Трансляция кода с C# на C++: работа портера
- [Python, JavaScript, Программирование, Учебный процесс в IT] Ontol: подборка видео-лекций и каналов для продвинутых программистов
- [Разработка веб-сайтов, PHP, Программирование, Go] Strategy Design Pattern
- [Программирование, Разработка мобильных приложений, Учебный процесс в IT, Карьера в IT-индустрии] Апрельский дайджест: приглашаем на онлайн-практикумы и митапы
- [Программирование, Учебный процесс в IT, Карьера в IT-индустрии] Программирование — это скучная магия (перевод)
- [Программирование, Java, Разработка под Android, Rust] Rust — теперь и на платформе Android (перевод)
- [Учебный процесс в IT, Карьера в IT-индустрии] Войти в IT и сразу получить работу: новые бесплатные курсы в Parimatch Tech Academy
- [Программирование, Учебный процесс в IT, Карьера в IT-индустрии, Удалённая работа] Как развиваться в IT
Теги для поиска: #_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
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет, Хабр!Недавно Егор Суворов, преподаватель курса по С++ в Питерской Вышке, прочитал лекцию о некоторых особенностях языка для участников Всероссийской олимпиады школьников по информатике. Егор рассказал о шаблонах в 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 =========== Похожие новости:
Блог компании Образовательные проекты JetBrains ), #_c++, #_uchebnyj_protsess_v_it ( Учебный процесс в IT ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 16:33
Часовой пояс: UTC + 5