GitHub - cybersecurity-dev/awesome-cpp-programming-resources: Awesome C++ Programming Resources
-
Notifications
You must be signed in to change notification settings - Fork 0
📖 Contents
- Standarts
- Books
- Blog
- Videos
- Specific Topics
- Reference
- C++ Hall Of Fame
- My Other Awesome Lists
- Contributing
- Contributors
Standarts
Books
- 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
Blog
Videos
Specific Topics
Value Categories
Videos
- Back to Basics: Understanding Value Categories - Ben Saks - CppCon 2019
- Understanding C++ Value Categories: lvalue, rvalue, xvalue, std::move, std::forward & Best Practices
- Modern C++ (move semantics, perfect forwarding)
- Move Semantics Explained - Learn Modern C++
Security
Videos
- 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)
Memory
Videos
- C++ Memory Model: from C++11 to C++23 by
Alex Dathskovsky - C++ Memory Management • an Interview with
Patrice Roy - C++ Memory Management by
Patrice Roy & Kevin Carpenter
Software Optimization
Videos
Strings
Videos
- How to Use string_view in C++ - Basics, Benefits, and Best Practices - Jasmine Lopez & Prithvi Okade
Concurrency & Parallelism & Multithreading
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.
Videos
- 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
- C++20’s Coroutines for Beginners by Andreas Fertig
Template Metaprogramming
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.
Videos
- 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
What is new in C++20 / C++23 / C++26
Videos
Videos
Videos
- C++26 - What's In It For You? by Marc Gregoire
- Three Cool Things in C++26: Safety, Reflection & std::execution by Herb Sutter
Exercises
Tools
- cppinsights - C++ Insights shows how compilers see your code.
Reference
C++ Hall Of Fame
My Other Awesome Lists
You can access the my other awesome lists here
Contributing
Contributions of any kind welcome, just follow the guidelines!
Contributors
Thanks goes to these contributors!