- Standarts
- Books
- Blog
- Videos
- Specific Topics
- Reference
- My Other Awesome Lists
- Contributing
- Contributors
- C++ Primer
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs
- C++ Crash Course: A Fast-Paced Introduction
- Tour of C++, A (C++ In-Depth Series)
- C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth)
- C++ Templates: The Complete Guide
- Back to Basics: Understanding Value Categories - Ben Saks - CppCon 2019
- Understanding C++ Value Categories: lvalue, rvalue, xvalue, std::move, std::forward & Best Practices
- Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (1 of 2)
- Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (2 of 2)
- How to Use string_view in C++ - Basics, Benefits, and Best Practices - Jasmine Lopez & Prithvi Okade
Concurrencyis about dealing with multiple tasks at once. ❌ No, Needs multiple cores.
Parallelismis about doing multiple tasks at the exact same time. ✅ Yes, Needs multiple cores.
Multithreadingis a technique that allows a program to have multiple threads of execution. ❌/✅ Depends, Needs multiple cores.
- The Cost of Concurrency Coordination by Jon Gjengset
- Choose the Right C++ Parallelism Tool | Low-Level vs Async vs Coroutines vs Data Parallel by Eran Gilad
Metaprogrammingwriting programs that create, inspect, or modify other programs or themselves.
Template metaprogrammingis a form of compile‑time metaprogramming in C++ where you use templates to perform computations, make decisions, and generate code during compilation, not at runtime.
- Back to Basics: Templates (part 1 of 2) by Andreas Fertig
- Back to Basics: Templates (part 2 of 2) by Andreas Fertig
- C++ Variadic Templates and Parameter Packs by Vladimir Vishnevski
- cppinsights - C++ Insights shows how compilers see your code.
You can access the my other awesome lists here
Contributions of any kind welcome, just follow the guidelines!