Evil Genius
IT Solutions
Portfolio
Services
AI
How we work
About
Society
EN
ខ្មែរ
Contact
Portfolio
Services
AI
How we work
About
Society
Evil Genius Society
Home
Learn
Forum
Leaderboard
Socials
Messages
Curriculum
1. Getting Set Up
2. What a Compiler Actually Does
3. Values and Types
4. Control Flow
5. Functions
6. Arrays, Strings, and Your First STL Tools
7. Pointers and References
8. The Memory Model
9. Structs, Classes, and Object Lifetime
10. Smart Pointers
11. Debugging and Tooling
12. Templates
12.1 Why Templates Exist
12.2 Function Templates and Type Deduction
12.3 Class Templates
12.4 Template Specialization
12.5 Non-Type Template Parameters
12.6 Variadic Templates and Parameter Packs
12.7 Concepts: Constraining Templates
12.8 Reading a Template Error Message
13. The Standard Library
14. Lambdas and Functional Style
15. Error Handling
16. Object-Oriented C++
17. Project Structure and the Build
18. Testing
19. Idioms and Design
20. Concurrency
21. Performance
22. Compile-Time C++
23. Interfacing Outward
24. Capstone Projects
← All modules
Modules 12
Templates
Function and class templates, specialization, variadics, and C++20 concepts.
12.1
Why Templates Exist
12.2
Function Templates and Type Deduction
12.3
Class Templates
12.4
Template Specialization
12.5
Non-Type Template Parameters
12.6
Variadic Templates and Parameter Packs
12.7
Concepts: Constraining Templates
12.8
Reading a Template Error Message