Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
C++ internals for software engineer role
·
Module 5
Compile-Time Polymorphism with Templates
1
Demystifying C++ Templates: Implementation and Instantiation
Implement function and class templates and explain the process of template instantiation by the compiler.
2
Templates: Weighing Bloat and Performance
Analyze the trade-offs of template use, including potential for code bloat and improved performance.
3
Optimizing with Template Specialization
Apply template specialization to provide optimized implementations for specific types.
4
Compile-Time Branching with `if constexpr`
Use `if constexpr` to perform compile-time branching within a template.
5
Variadic Templates: Flexible Function and Class Design
Implement variadic templates to create functions and classes that accept a variable number of arguments.
6
Compile-Time vs. Run-Time Polymorphism
Explain the fundamental differences and use cases for compile-time polymorphism (templates) versus runtime polymorphism (virtual functions).
7
Compile-Time Type Inspection and Transformation
Define type traits to inspect and transform type properties at compile-time.
Previous module
Resource Management and the RAII Idiom
Next module
STL Internals: Containers and Algorithms