Базовый курс C++ (MIPT, ILab). Lecture 26. Метапрограммирование.
Описание
Лекции в бакалавриате МФТИ по C++ на русском языке.
На этой лекции мы сначала немного поговорим о работе с перестановками, чтобы показать силу STL-способа написания алгоритмов. После этого мы зададимся внезапным вопросом: а не могли бы мы делать то же самое, но на этапе компиляции.
И вот дальше сразу станет весело и страшно: мы пройдём через историю открытия и развития метапрограммирования, лектор откроет главную тайну метапрограмм и начнёт разговор о таинственных квадрантах вычислений. После чего мы подробно исследуем наш арсенал второго квадранта, а именно constexpr функции и переменные.
Лектор: Константин Владимиров
Дата лекции: 18 апреля 2022 года
Съёмка: Владислав Белов.
Звук: Дмитрий Рябцев.
Предыдущая лекция: https://youtu.be/ZQ6-EoBP02Q
Следующая лекция: https://youtu.be/CNUC7lvoWak
Слайды ко всем лекциям: https://sourceforge.net/projects/cpp-lects-rus/files/cpp-graduate
Примеры кода ко всем лекциям: https://github.com/tilir/cpp-graduate
Timeline:
00:00 Перестановки
10:25 Алгоритмы над перестановками
23:10 Мотивация метапрограммирования
32:20 Простые метапрограммы
45:48 Квадранты вычислений
55:24 Константность и литералы
1:03:40 Указатели и массивы на этапе компиляции
1:10:30 Constexpr control flow
1:16:35 Начало обсуждения constexpr функций
Errata:
* тут пока пусто
Рекомендуемые видео



















