Выложил шестую лекцию магистерского курса на английском.
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
Post #309
11.3K