Спина. Как много в этом слове…
С тех пор, как человек встал на ноги и стал «прямоходящим», прошли миллионы лет. Однако процесс выпрямления не прошел бесследно. Несмотря на то, что весь опорно-двигательный аппарат был трансформирован с учетом увеличения вертикальной нагрузки, позвоночник все равно остается самой «болевой» частью всего скелета.
Базовый курс 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:
* тут пока пусто
DJ Дождик — Почему же
Видеоклип на песню «Почему же»
Антон Полухин — Незаменимый С++
—
. . . Каждый новомодный язык программирования норовит заявить о том, что он быстрее, надёжнее и вообще по всем параметрам в несколько раз лучше C++.
Давайте разберёмся — где правда, а где вымысел. Да начнётся битва между C++ и Asm/Rust/Go/Java/C#… !
Лекция 12. Многопоточность
https://compscicenter.ru/
Лекция №12 в курсе «Программирование на C++, часть 2» (весна 2019).
Преподаватель курса: Валерий Михайлович Лесин
Страница лекции на сайте CS центра: https://bit.ly/2Y0A7Cu
Все видео курса: http://bit.ly/2BL6j47