⚙️

C++ — Метапрограммирование и compile-time

Шаблоны, SFINAE, type traits, constexpr, consteval, concepts, вариативные шаблоны, вычисления на этапе компиляции, инстанцирование.

28 вопросов · 28 показано

EasyЧто такое template и для чего нужны шаблоны?MediumЧем function template отличается от class template?MediumЧто такое template specialization (явная специализация)?HardЧто такое SFINAE?HardЧто такое std::enable_if и как им пользоваться?MediumЧто такое type traits и для чего они нужны?MediumЧем decltype отличается от auto?HardЧто такое variadic templates и parameter packs?HardЧто такое fold expressions (C++17)?MediumЧто такое class template argument deduction (CTAD)?MediumЧто такое constexpr-функция и какие у неё ограничения?HardЧто такое literal type?MediumЧто такое consteval и когда использовать?EasyЧто такое static_assert?HardЧто такое tag dispatch?HardЧто такое CRTP и для чего используется?MediumЧто такое compile-time factorial через шаблоны?HardЧто такое идиома detection (detect member)?HardЧто такое std::common_type?HardЧто такое two-phase lookup?HardЧто такое ADL (Argument-Dependent Lookup)?MediumЧто такое inline variable (C++17)?HardЧто такое дружественные шаблоны (friend templates)?HardЧем partial specialization function template запрещён?HardЧто такое идиома type erasure?MediumЧто такое std::tuple и как им пользоваться?HardЧто такое std::index_sequence и для чего?HardЧто такое expression SFINAE?