Выложил шестую лекцию магистерского курса на английском.
https://youtu.be/1DFPzHlHmkE
Лекция посвящена специализации и инстанцированию шаблонов. Мы начнём с различий между неявным и явным инстанцированием, разберём механизм порождения специализаций и правила, управляющие этим процессом. Затем перейдём к частичной специализации, выясним, как компилятор устанавливает частичный порядок между специализациями, и обсудим, почему функции не могут иметь частичных специализаций. Мы также рассмотрим двухфазный поиск имён, его влияние на инстанцирование и несколько типичных ловушек, включая ADL и зависимые имена.
00:00 Link between instantiation and specialization
06:10 Explicit instantiation
11:50 Visibility issues
16:16 Explicit specialization
27:43 Deers and Crocodiles: interaction with type inference
34:34 Interaction with Name Lookup
42:48 Associated entity namespaces ADL during instantiation
55:47 Types can't be overloaded
01:04:41 Partial specialization
01:09:09 Ordering of specializations
01:13:58 Member template challenges
01:18:16 Semantic processes again, homework and bibliography
#cpp_postgraduate
https://youtu.be/1DFPzHlHmkE
Лекция посвящена специализации и инстанцированию шаблонов. Мы начнём с различий между неявным и явным инстанцированием, разберём механизм порождения специализаций и правила, управляющие этим процессом. Затем перейдём к частичной специализации, выясним, как компилятор устанавливает частичный порядок между специализациями, и обсудим, почему функции не могут иметь частичных специализаций. Мы также рассмотрим двухфазный поиск имён, его влияние на инстанцирование и несколько типичных ловушек, включая ADL и зависимые имена.
00:00 Link between instantiation and specialization
06:10 Explicit instantiation
11:50 Visibility issues
16:16 Explicit specialization
27:43 Deers and Crocodiles: interaction with type inference
34:34 Interaction with Name Lookup
42:48 Associated entity namespaces ADL during instantiation
55:47 Types can't be overloaded
01:04:41 Partial specialization
01:09:09 Ordering of specializations
01:13:58 Member template challenges
01:18:16 Semantic processes again, homework and bibliography
#cpp_postgraduate
YouTube
Lecture 6. Specialization. Master's Course in C++ (MIPT, 2025-2026).
Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies.
Timeline:
00:00 Link between instantiation and specialization
06:10 Explicit instantiation
11:50 Visibility issues
16:16 Explicit specialization
27:43…
Timeline:
00:00 Link between instantiation and specialization
06:10 Explicit instantiation
11:50 Visibility issues
16:16 Explicit specialization
27:43…
🔥45👍10❤6😱3🍓3
Немного апдейтов и объявлений.
1. В четверг 6 ноября вечером я выступаю в ИТМО вот на этом мероприятии: https://itmo.events/events/114900 с огненным (по моему мнению) докладом про регаллок. Поговорю о том как обманчивая математическая красота отвлекает от реальности и как сложно иногда в программировании сформулировать настоящую задачу, которую мы решаем (и наоборот -- как просто в процессе решить не ту задачу). Материал сыроват но мне лично кажется очень важным.
2. 7 ноября я выступаю также в ИТМО с довольно классическим докладом про инструменты разработки и RISC-V на YADRO Labs Open Day https://itmo.events/events/115191
3. Хочу похвастаться исследованием, которое мой магистрант Саша Романов сделал на основании задания к первой лекции моего магистерского курса. Сильно выйдя за пределы этого задания, я бы сказал. Итог был опубликован на Хабре: https://habr.com/ru/companies/yadro/articles/961534
4. Александра Миненко из Московского института психоанализа очень просит помочь ей и заполнить обширную анкету на 168 (!) вопросов для её исследования: https://onlinetestpad.com/t/it-success-factors. Очень душную, всё как мы любим. Если вы уже устали отдыхать и вам не лень, то можно помочь девушке с дипломом. Кстати после прохождения там будет некий фидбек относительно вашей стрессоустойчивости, волевого контроля и всего такого.
5. 22 ноября мы с Юлием Тарасовым выступаем с обзорным докладом о корутинных оптимизациях на Yadro System Level meetup вот тут: https://meetups.yadro.com/cpp-kernel-msk-1125 вроде как регистрация пока открыта.
#official
1. В четверг 6 ноября вечером я выступаю в ИТМО вот на этом мероприятии: https://itmo.events/events/114900 с огненным (по моему мнению) докладом про регаллок. Поговорю о том как обманчивая математическая красота отвлекает от реальности и как сложно иногда в программировании сформулировать настоящую задачу, которую мы решаем (и наоборот -- как просто в процессе решить не ту задачу). Материал сыроват но мне лично кажется очень важным.
2. 7 ноября я выступаю также в ИТМО с довольно классическим докладом про инструменты разработки и RISC-V на YADRO Labs Open Day https://itmo.events/events/115191
3. Хочу похвастаться исследованием, которое мой магистрант Саша Романов сделал на основании задания к первой лекции моего магистерского курса. Сильно выйдя за пределы этого задания, я бы сказал. Итог был опубликован на Хабре: https://habr.com/ru/companies/yadro/articles/961534
4. Александра Миненко из Московского института психоанализа очень просит помочь ей и заполнить обширную анкету на 168 (!) вопросов для её исследования: https://onlinetestpad.com/t/it-success-factors. Очень душную, всё как мы любим. Если вы уже устали отдыхать и вам не лень, то можно помочь девушке с дипломом. Кстати после прохождения там будет некий фидбек относительно вашей стрессоустойчивости, волевого контроля и всего такого.
5. 22 ноября мы с Юлием Тарасовым выступаем с обзорным докладом о корутинных оптимизациях на Yadro System Level meetup вот тут: https://meetups.yadro.com/cpp-kernel-msk-1125 вроде как регистрация пока открыта.
#official
❤60👍33🔥16🍓2🌭1🍌1
Выложил cедьмую лекцию магистерского курса на английском.
https://youtu.be/VlkNCGiT-YE
В этой лекции мы начнём длинный и обстоятельный разговор о модулях. Сначала мы обсудим такие свойства объектов как storage и linkage, погрузимся в детали ODR и детально рассмотрим ключевое слово inline. Далее мы поговорим о компонентном подходе к физической организации кода и оценим как его сложно поддерживать без модулей. В частности мы столкнемся с проблемами слишком долгой компиляции и попробуем их решить через предварительно скомпилированные хедера. Увы, на этом пути мы увидим проблемы с контролем экспорта и с проникновением макросостояния в код. В конце лекции появятся собственно модули как органичное развитие идеи предкомпилированных хедеров. Ну а их детальное рассмотрение мы отложим до следующего раза.
00:00 Introduction: object properties.
06:45 Storage and linkage.
14:44 ODR and subtleties.
18:42 Inline: exception from ODR.
24:58 ODR-usage and discarded statements.
29:20 Component approach.
40:58 Precompiled headers.
50:00 Uncontrolled export and modules introduction.
56:22 Inversion of dependencies
#cpp_postgraduate
https://youtu.be/VlkNCGiT-YE
В этой лекции мы начнём длинный и обстоятельный разговор о модулях. Сначала мы обсудим такие свойства объектов как storage и linkage, погрузимся в детали ODR и детально рассмотрим ключевое слово inline. Далее мы поговорим о компонентном подходе к физической организации кода и оценим как его сложно поддерживать без модулей. В частности мы столкнемся с проблемами слишком долгой компиляции и попробуем их решить через предварительно скомпилированные хедера. Увы, на этом пути мы увидим проблемы с контролем экспорта и с проникновением макросостояния в код. В конце лекции появятся собственно модули как органичное развитие идеи предкомпилированных хедеров. Ну а их детальное рассмотрение мы отложим до следующего раза.
00:00 Introduction: object properties.
06:45 Storage and linkage.
14:44 ODR and subtleties.
18:42 Inline: exception from ODR.
24:58 ODR-usage and discarded statements.
29:20 Component approach.
40:58 Precompiled headers.
50:00 Uncontrolled export and modules introduction.
56:22 Inversion of dependencies
#cpp_postgraduate
YouTube
Lecture 7. Modules part 1: Components and ODR. Master's Course in C++ (MIPT, 2025-2026).
Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies.
In this lecture, we will begin a long and detailed discussion about modules. First, we will discuss object properties such as storage and linkage, delve…
In this lecture, we will begin a long and detailed discussion about modules. First, we will discuss object properties such as storage and linkage, delve…
❤49👍30🔥13🥰2🤩1
Немного образовательного контента в рамках пятничного зачилла. Не знаю, куда вставить в лекции, но считаю это крайне милым фактом относительно языка.
https://godbolt.org/z/GsMab56oT
Пункт стандарта скину в комментарии если никто не напишет его там в первые 15 минут ))
#questions
struct S {};
template <typename T> void bar(T& t) {}
int main() {
using CS = const S;
using CI = const int;
bar(CS{}); // working
bar(CI{}); // not working
}https://godbolt.org/z/GsMab56oT
Пункт стандарта скину в комментарии если никто не напишет его там в первые 15 минут ))
#questions
godbolt.org
Compiler Explorer - C++
struct S {};
template <typename T> void bar(T& t) {}
int main() {
using CS = const S;
using CI = const int;
bar(CS{}); // working
bar(CI{}); // not working
}
template <typename T> void bar(T& t) {}
int main() {
using CS = const S;
using CI = const int;
bar(CS{}); // working
bar(CI{}); // not working
}
🐳25🔥18❤4🤔4🤯2😱2💅2🤷♂1👌1🦄1
Выложил восьмую лекцию магистерского курса на английском.
https://youtu.be/aY69noAq2Bk
В этой лекции мы продолжим разговор о модулях, до которых мы едва успели дойти в прошлый раз. В первую очередь мы разберёмся с проблемой макросостояния. Далее детально обсудим правила экспорта и рассмотрим разные способы включения хедеров в модули. Главная часть этой лекции -- понятие достижимости, вносящее свои дополнения в разрешение имён и инстанцирование шаблонов. В конце мы рассмотрим какие механизмы модулей позволяют нам придерживаться компонентного подхода и как модули поддержаны в системах сборки.
00:00 Module linkage
06:20 Macro state and dependency graphs
14:17 Rules of export
24:56 Attached names and importable headers
36:18 Global module fragment
39:46 Reachability and decl-reachability
49:40 Deers again: specializations and reachability. Private fragments.
56:10 Back to the Component-based approach. Partitions.
01:03:13 BMI, dependenices and collate.
01:13:30 CMake support
01:17:04 Homework (course project) and bibliography.
#cpp_postgraduate
https://youtu.be/aY69noAq2Bk
В этой лекции мы продолжим разговор о модулях, до которых мы едва успели дойти в прошлый раз. В первую очередь мы разберёмся с проблемой макросостояния. Далее детально обсудим правила экспорта и рассмотрим разные способы включения хедеров в модули. Главная часть этой лекции -- понятие достижимости, вносящее свои дополнения в разрешение имён и инстанцирование шаблонов. В конце мы рассмотрим какие механизмы модулей позволяют нам придерживаться компонентного подхода и как модули поддержаны в системах сборки.
00:00 Module linkage
06:20 Macro state and dependency graphs
14:17 Rules of export
24:56 Attached names and importable headers
36:18 Global module fragment
39:46 Reachability and decl-reachability
49:40 Deers again: specializations and reachability. Private fragments.
56:10 Back to the Component-based approach. Partitions.
01:03:13 BMI, dependenices and collate.
01:13:30 CMake support
01:17:04 Homework (course project) and bibliography.
#cpp_postgraduate
YouTube
Lecture 8. Modules part 2: Export, Import and BMI. Master's Course in C++ (MIPT, 2025-2026).
Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies.
In this lecture, we continue our discussion of C++ modules, which we only managed to get to at the very end of the previous lecture. We'll start by examining…
In this lecture, we continue our discussion of C++ modules, which we only managed to get to at the very end of the previous lecture. We'll start by examining…
❤32👍24🔥17🌭4🍌4🍓3
Выложил девятую лекцию магистерского курса на английском
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👍15🍾1
Выложили моё выступление в ИТМО. Попробовал поговорить о настоящей сложности распределения регистров и вообще — про обманчиво простые задачи.
https://www.youtube.com/watch?v=XUttZ838Tw0
00:00 Начало. Кто использует стек?
04:50 Задача распределения регистров и подход через раскраску графов.
10:20 Покраска через клеточные автоматы
12:43 Учёт иррегулярности архитектур и PBQP
15:12 Эвристики для спиллов и рематериализация.
23:05 Слияние и разбиение интервалов активности.
29:28 Немного о настоящей сложности задачи
33:18 Литература и ответы на вопросы
#compilers #conference
https://www.youtube.com/watch?v=XUttZ838Tw0
00:00 Начало. Кто использует стек?
04:50 Задача распределения регистров и подход через раскраску графов.
10:20 Покраска через клеточные автоматы
12:43 Учёт иррегулярности архитектур и PBQP
15:12 Эвристики для спиллов и рематериализация.
23:05 Слияние и разбиение интервалов активности.
29:28 Немного о настоящей сложности задачи
33:18 Литература и ответы на вопросы
#compilers #conference
YouTube
Константин Владимиров — Распределение регистров
Распределение регистров это интересная область компиляторной инженерии, содержащая ряд красивых алгоритмов, которые почти все решают какую-то другую задачу. И поэтому это область, где наблюдается наибольший дисконнект между теорией и практикой. Мы начнём…
🔥96❤9✍7👍6🦄2😁1🏆1
Немного анонсов.
На OSDev Conf ещё остались места для оффлайн-участия и открыта регистрация.
Программа:
https://osdevconf.ontico.ru/abstracts
Официальный анонс:
https://news.1rj.ru/str/osdevconf_channel/21
Я там ранее выступал см. https://news.1rj.ru/str/cpp_lects_rus/142, очень приятное мероприятие (для разработчиков операционных систем в основном). В этот раз также будут выступать несколько моих коллег. Участие, разумеется, бесплатное.
#official
На OSDev Conf ещё остались места для оффлайн-участия и открыта регистрация.
Программа:
https://osdevconf.ontico.ru/abstracts
Официальный анонс:
https://news.1rj.ru/str/osdevconf_channel/21
Я там ранее выступал см. https://news.1rj.ru/str/cpp_lects_rus/142, очень приятное мероприятие (для разработчиков операционных систем в основном). В этот раз также будут выступать несколько моих коллег. Участие, разумеется, бесплатное.
#official
osdevconf.ontico.ru
Доклады OS DevConf 2025, 3 декабря, Москва
Конференция про разработку
системного ПО, ядра Linux и open source
системного ПО, ядра Linux и open source
🔥28👍11❤10
Выложил десятую лекцию магистерского курса на английском
https://youtu.be/cg1D-t_7ZSk
В этой лекции мы начнём разговор о вычислениях на этапе компиляции. Мы начнём с определения константно-выраженных переменных и функций, рассмотрим детали константно-выраженного потока управления. Также мы разберемся как работает в контексте компиляции неопределённое поведение и какую пользу мы сможем из этого извлечь. Далее мы познакомимся с концепцией constexpr all the things и с историей "констекспризации" стандартной библиотеки. В конце лекции нам предстоит зайти в пещеру чудес, познакомиться с охраняющим её джином и научиться показывать фокус с пальцем: нас ждут такие странные вещи, как виртуальные функции и выделение динамической памяти времени компиляции.
Timeline
00:00 Introduction: constant expressions
06:53 constinit and constexpr variables
13:04 Control flow in constexpr contexts
17:02 constexpr functions
25:29 Implementing countl_zero
34:15 Core constant expressions
40:04 Undefined behavior in consteval functions
45:02 User-defined literal types and suffixes
55:25 Constexpr all the things
01:00:50 constexpr arrays
01:05:10 Virtual constexpr functions: sleight of hand
01:09:47 constexpr new and the Cave of Wonders
01:16:45 Homework and bibliography
#cpp_postgraduate
https://youtu.be/cg1D-t_7ZSk
В этой лекции мы начнём разговор о вычислениях на этапе компиляции. Мы начнём с определения константно-выраженных переменных и функций, рассмотрим детали константно-выраженного потока управления. Также мы разберемся как работает в контексте компиляции неопределённое поведение и какую пользу мы сможем из этого извлечь. Далее мы познакомимся с концепцией constexpr all the things и с историей "констекспризации" стандартной библиотеки. В конце лекции нам предстоит зайти в пещеру чудес, познакомиться с охраняющим её джином и научиться показывать фокус с пальцем: нас ждут такие странные вещи, как виртуальные функции и выделение динамической памяти времени компиляции.
Timeline
00:00 Introduction: constant expressions
06:53 constinit and constexpr variables
13:04 Control flow in constexpr contexts
17:02 constexpr functions
25:29 Implementing countl_zero
34:15 Core constant expressions
40:04 Undefined behavior in consteval functions
45:02 User-defined literal types and suffixes
55:25 Constexpr all the things
01:00:50 constexpr arrays
01:05:10 Virtual constexpr functions: sleight of hand
01:09:47 constexpr new and the Cave of Wonders
01:16:45 Homework and bibliography
#cpp_postgraduate
YouTube
Lecture 10. Constexpr part I: Entering the Cave of Wonders (MIPT, 2025-2026).
Master's degree lectures at MIPT on modern C++ in English. Department of Microprocessor Technologies.
In this lecture, we begin our discussion of compile-time computation. We start by defining what it means for variables and functions to be constant-evaluated…
In this lecture, we begin our discussion of compile-time computation. We start by defining what it means for variables and functions to be constant-evaluated…
👍31🔥20❤11🦄1
Всем привет.
Если кто-то из новых читателей этого канала не знает, у меня год назад вышла книжка: https://news.1rj.ru/str/cpp_lects_rus/191 и неплохо разошлась.
В этом году я проводил встречи с читателями в разных городах и зачастую в офисах разных компаний, например в VK меня позвали ещё весной. Надо какое-то красивое завершение года, финальная встреча. И я думаю вы уже поняли где она пройдёт.
https://meetups.yadro.com/autograph-session-k-vladimirov
Да, это будет встреча с читателями в офисе Yadro в Москве, причём двери будут открыты для всех, вам не обязательно быть сотрудником. Ну а уж если вы сотрудник то вообще просто — спускаетесь к общедоступному ресепшену на первом этаже (где столовая) и всё там. Карту для остальных куда подходить приложу в комментариях. Встречаемся в среду 10 декабря, в 20:00. Как обычно могу пообещать максимум общения с залом при максимально открытых интеллектуальных шлюзах. И даже будет какое-то количество еды.
Встреча пройдёт в довольно большом помещении, 50 мест точно есть. Обычно народа столько не бывает. Но мало ли, лучше регистрируйтесь заранее.
UPD: ответного письма после регистрации ждать не обязательно, можно просто отправить форму и приходить.
UPD2: регистрации частично идут с ошибками. Если у вас такая возникла, просто отправьте свой email мне в лс, протолкнём руками ))
#author_event
Если кто-то из новых читателей этого канала не знает, у меня год назад вышла книжка: https://news.1rj.ru/str/cpp_lects_rus/191 и неплохо разошлась.
В этом году я проводил встречи с читателями в разных городах и зачастую в офисах разных компаний, например в VK меня позвали ещё весной. Надо какое-то красивое завершение года, финальная встреча. И я думаю вы уже поняли где она пройдёт.
https://meetups.yadro.com/autograph-session-k-vladimirov
Да, это будет встреча с читателями в офисе Yadro в Москве, причём двери будут открыты для всех, вам не обязательно быть сотрудником. Ну а уж если вы сотрудник то вообще просто — спускаетесь к общедоступному ресепшену на первом этаже (где столовая) и всё там. Карту для остальных куда подходить приложу в комментариях. Встречаемся в среду 10 декабря, в 20:00. Как обычно могу пообещать максимум общения с залом при максимально открытых интеллектуальных шлюзах. И даже будет какое-то количество еды.
Встреча пройдёт в довольно большом помещении, 50 мест точно есть. Обычно народа столько не бывает. Но мало ли, лучше регистрируйтесь заранее.
UPD: ответного письма после регистрации ждать не обязательно, можно просто отправить форму и приходить.
UPD2: регистрации частично идут с ошибками. Если у вас такая возникла, просто отправьте свой email мне в лс, протолкнём руками ))
#author_event
🔥51❤31🙏4💩3👏1🎉1🤮1🐳1💅1🦄1
Выложил одиннадцатую лекцию магистерского курса на английском.
https://youtu.be/o765J7jlWNg
Мы продолжим обсуждение техник программирования времени компиляции. Начнём с красивой проблемы, поставленной и решённой ещё Фон Нейманом. Далее переместимся в современный C++ и исследуем рефлексию через операторы, напоминающие ушки кошкодевочек. Посмотрим что делать с разнообразием методом метапрограммирования и исследуем интересный подход к метапрограммированию, ориентированному на функции и значения, принятый в Boost::Hana. Для восприятия этой лекции лучше посмотреть прошлую лекцию, вводную в мир constexpr.
Timeline
00:00 Introduction: Trits
06:40 Consteval-Constructible Trits
12:30 A Bit of C++26: Template For and the Ears Operator
19:30 Catgirls in the Cave of Wonders
24:13 Case Study: Is It an Object Type?
29:40 Constexpr for Metaprogramming
39:00 A Variety of Metaprogramming Styles: The Sumfoos Riddle
46:23 Another Example: Physical Quantities
50:45 Boost.Hana and the Idea of "Normal" Compile-Time Programming
58:30 Homework and Bibliography
#cpp_postgraduate
https://youtu.be/o765J7jlWNg
Мы продолжим обсуждение техник программирования времени компиляции. Начнём с красивой проблемы, поставленной и решённой ещё Фон Нейманом. Далее переместимся в современный C++ и исследуем рефлексию через операторы, напоминающие ушки кошкодевочек. Посмотрим что делать с разнообразием методом метапрограммирования и исследуем интересный подход к метапрограммированию, ориентированному на функции и значения, принятый в Boost::Hana. Для восприятия этой лекции лучше посмотреть прошлую лекцию, вводную в мир constexpr.
Timeline
00:00 Introduction: Trits
06:40 Consteval-Constructible Trits
12:30 A Bit of C++26: Template For and the Ears Operator
19:30 Catgirls in the Cave of Wonders
24:13 Case Study: Is It an Object Type?
29:40 Constexpr for Metaprogramming
39:00 A Variety of Metaprogramming Styles: The Sumfoos Riddle
46:23 Another Example: Physical Quantities
50:45 Boost.Hana and the Idea of "Normal" Compile-Time Programming
58:30 Homework and Bibliography
#cpp_postgraduate
🔥55👍12😐7❤5🤯1