filmov
tv
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 18. Динамический полиморфизм.
![preview_player](https://i.ytimg.com/vi/_Jn7MAZYL2M/maxresdefault.jpg)
Показать описание
Лекции в магистратуре МФТИ по современному C++ на русском языке. Кафедра микропроцессорных технологий.
На этой лекции мы поговорим о неудобной и в чём-то даже неуютной теме -- динамическом полиморфизме в C++. Мы рассмотрим несколько альтернатив, включая CRTP, ручное управление таблицами и инвесрию полиморфизма Мы также углубимся в детали работы статического приведения типов. В конце всё это сойдётся вместе, но станет немного грустно и безнадёжно.
Лектор: Константин Владимиров.
Дата лекции: 1 марта 2023 года.
Съёмка: Марк Гончаров
Звук: Юлий Тарасов.
Timeline
00:00 Мотивация динамического полиморфизма
06:35 Виртуальные функции
12:45 CRTP как альтернатива общему интерфейсу
20:38 Виртуальное копирование и CRTP mixins
28:35 Dreaded diamond и симметрии
39:30 Виртуальное наследование
47:55 Динамическое приведение
53:45 Проблемы виртуальных функций
01:00:20 Задача Дионне и ручное управление таблицами
01:14:00 Инверсия Шона Парента
01:25:55 Завершение и обзор литературы
Errata
* Тут пока пусто
На этой лекции мы поговорим о неудобной и в чём-то даже неуютной теме -- динамическом полиморфизме в C++. Мы рассмотрим несколько альтернатив, включая CRTP, ручное управление таблицами и инвесрию полиморфизма Мы также углубимся в детали работы статического приведения типов. В конце всё это сойдётся вместе, но станет немного грустно и безнадёжно.
Лектор: Константин Владимиров.
Дата лекции: 1 марта 2023 года.
Съёмка: Марк Гончаров
Звук: Юлий Тарасов.
Timeline
00:00 Мотивация динамического полиморфизма
06:35 Виртуальные функции
12:45 CRTP как альтернатива общему интерфейсу
20:38 Виртуальное копирование и CRTP mixins
28:35 Dreaded diamond и симметрии
39:30 Виртуальное наследование
47:55 Динамическое приведение
53:45 Проблемы виртуальных функций
01:00:20 Задача Дионне и ручное управление таблицами
01:14:00 Инверсия Шона Парента
01:25:55 Завершение и обзор литературы
Errata
* Тут пока пусто
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 1. Строки.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 11. Вывод типов.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 2...
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 15. Аллокаторы
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 22. Параллелизм....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 19. Многопоточность, часть 1....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 8. Константные выражения....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 23. Сопрограммы, часть 1....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 14. Диапазоны, часть 2...
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 12. Вариабельные шаблоны....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 9. Волшебство времени компиляции....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 2. Шаблоны функций....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 7. Классическое метапрограммирование....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 16. Полиморфные аллокаторы...
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 3....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 5. Модули в C++.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 2....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 14. Диапазоны, часть 1....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 3. Шаблоны классов и частичная специализация....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 10. Концепты.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 20. Очереди.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 18. Динамический полиморфизм....
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 13. Лямбды.
Магистерский курс C++ (МФТИ, 2022-2023). Лекция 21. Атомики, часть 1....
Комментарии