У нас вы можете посмотреть бесплатно Part 72 Taming Dragons with Stroustrup’s Blade - Name Lookup & SFINAE & Template Resolution Internal или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
In this episode of “Taming Dragons with Stroustrup’s Blade”, we dive deep into how the C++ compiler resolves names, deduces types, and selects template instantiations. You’ll learn how tag dispatching interacts with specialization, how namespaces affect symbol visibility, why “undeclared identifier” errors occur, and how free function lookup works through ADL (Argument-Dependent Lookup). We conclude with a detailed explanation of SFINAE — why it exists, when it triggers, and how it subtly influences overload resolution in template-heavy codebases. ⏰ Timestamps: 00:00 ▶️ Overview of Tag Dispatching and Template Specialization — Revisiting compile-time branching techniques and how specialization and tag dispatching influence overload selection. 02:00 ▶️ Type Deduction and Name Resolution in Practice — Observing how the compiler deduces template arguments and resolves dependent and non-dependent names. 04:00 ▶️ Namespaces and Name Resolution Mechanism — Understanding scope, qualification, and how namespaces participate in symbol lookup. 06:00 ▶️ Undeclared Identifier Compiler Errors — Analyzing why name lookup fails, dependent name pitfalls, and common template-related resolution errors. 08:30 ▶️ Using Declarations for Namespace Symbols — Controlling symbol visibility with using declarations and avoiding ambiguity during lookup. 13:40 ▶️ Free Function Lookup and Argument-Dependent Lookup (ADL) — Exploring Koenig lookup and how argument types extend the search domain. 18:10 ▶️ Name Lookup Combined with Overload Resolution and Access Control — Understanding how ADL, overload ranking, access specifiers, substitution, and virtual dispatch interact inside template functions. 24:00 ▶️ SFINAE: What, When, Why It Happens — Explaining Substitution Failure Is Not An Error, why invalid substitutions are discarded silently, and how SFINAE enables conditional template participation. 📌 What You'll Learn: • How the compiler resolves names in templated and non-templated contexts • The role of namespaces and using declarations in symbol visibility • Why template-related “undeclared identifier” errors occur • How Argument-Dependent Lookup expands name lookup domains • How overload resolution, substitution, and access control interact • Why SFINAE exists and how it governs template viability 🛠 Concepts Covered: • Tag dispatching and specialization interactions • Dependent vs non-dependent name lookup • Namespace scope and symbol qualification • Argument-Dependent Lookup (ADL / Koenig lookup) • Overload resolution and access control • SFINAE mechanics and substitution rules 📢 Community & Resources: 🌐 Website: https://acql.ir 📸 Instagram: @aiooo_cql 📢 Telegram: @aioooir 🐦 Twitter: @aioooir 💻 GitHub: https://github.com/aiooord 🧪 Challenge for Viewers: Write a C++ program that: • Defines a free function inside a namespace • Calls it from a template using ADL without qualification • Introduces an invalid template substitution that triggers SFINAE • Uses std::enable_if or a type trait to control overload participation • Demonstrates how the compiler silently removes invalid candidates