Учебный канал в Телеграм: тут будут анонсы и ссылки на лекции и стримы.
Написать автору: @Tilir
Boosty автора: https://boosty.to/cpp_lects_rus
Post #314
11.6K
Выложил девятую лекцию магистерского курса на английском
https://youtu.be/IClwPgYFwkk
В этой лекции мы начнём путешествие в мир метапрограммирования. Сначала мы применим (там где это возможно) шаблонную специализацию для того чтобы реализовать определители и модификаторы типов. Далее мы рассмотрим фундаментальную идиому SFINAE и некоторые её исторические применения, включая void_t и enable_if_t. В процессе мы увидим как современный C++ решает те же проблемы гораздо проще. В конце лекции мы изобретём классическое метапрограммирование и пройдём историю развития человеческой мысли, рассмотрев основные библиотеки, существенно повлиявшие на эту область. Мы остановимся незадолго до C++11 и появления полноценных вычислений времени компиляции.
00:00 Intro: trivially copyable
10:55 Type And Value Domains
15:50 Writing your own type traits
22:52 Type modifiers: add_lref riddle
28:36 SFINAE and fundamental domains
33:20 Paper Over the Cracks: void_t and enable_if_t
39:45 SFINAE-OUT: excercise in semantic processes
44:40 Bad reputation of aliases: void_t again
48:44 Case study: move only function
59:36 Classical metaprogramming
01:05:22 Historical detour: Loki, MPL and Fusion
01:12:15 Conclusion: mixed computations, homework and bibliography
#cpp_postgraduate
https://youtu.be/IClwPgYFwkk
В этой лекции мы начнём путешествие в мир метапрограммирования. Сначала мы применим (там где это возможно) шаблонную специализацию для того чтобы реализовать определители и модификаторы типов. Далее мы рассмотрим фундаментальную идиому SFINAE и некоторые её исторические применения, включая void_t и enable_if_t. В процессе мы увидим как современный C++ решает те же проблемы гораздо проще. В конце лекции мы изобретём классическое метапрограммирование и пройдём историю развития человеческой мысли, рассмотрев основные библиотеки, существенно повлиявшие на эту область. Мы остановимся незадолго до C++11 и появления полноценных вычислений времени компиляции.
00:00 Intro: trivially copyable
10:55 Type And Value Domains
15:50 Writing your own type traits
22:52 Type modifiers: add_lref riddle
28:36 SFINAE and fundamental domains
33:20 Paper Over the Cracks: void_t and enable_if_t
39:45 SFINAE-OUT: excercise in semantic processes
44:40 Bad reputation of aliases: void_t again
48:44 Case study: move only function
59:36 Classical metaprogramming
01:05:22 Historical detour: Loki, MPL and Fusion
01:12:15 Conclusion: mixed computations, homework and bibliography
#cpp_postgraduate
- ❤ 41
- 🔥 23
- 👍 16
- 🍾 1