This repository holds a collection of useful materials for learning modern C++.
- Learning C++
- Object-Oriented Programming
- Universal/Forwarding References
- Concurrency
- Template Metaprogramming
- Performance Optimization
- Low Latency C++
- Teach Yourself C++ in ∞ Days, Jason turner
- A Modern C++ Quick Start Tutorial - 90 Topics in 20 Minutes, Jason turner
- Modern Template Metaprogramming: A Compendium, Part I, Walter E. Brown, CppCon 2014
- Modern Template Metaprogramming: A Compendium, Part II, Walter E. Brown, CppCon 2014
- Back to Basics: Templates in C++ - Nicolai Josuttis - CppCon 2022 (YouTube)
-
C++ Templates: The Complete Guide, 2nd Edition
The definitive book on C++ templates.
- Template Metaprogramming: Type Traits, Part I, Jody Hagins, CppCon 2020
- Template Metaprogramming: Type Traits, Part II, Jody Hagins, CppCon 2020
- wikipedia
- How to make SFINAE pretty – Part 1: what value SFINAE brings to code
- How to make SFINAE pretty – Part 2: the hidden beauty of SFINAE
- An introduction to C++'s SFINAE concept: compile-time introspection of a class member
Improving the performance of C++ codebases through various techniques.
-
C++ RVO: Return Value Optimization for Performance in Bloomberg C++ Codebases - Michelle Fae D'Souza
A great talk to gain a deeper understanding of what RVO is and how to apply it to improve performance in your codebases. It also shares real-world examples of when the compiler applies RVO and when it doesn’t.
- Want fast C++? Know your hardware!, Timur Doumler, CppCon 2016
- When a Microsecond Is an Eternity: High Performance Trading Systems in C++, Carl Cook, CppCon 2017
- Trading at light speed: designing low latency systems in C++, David Gross, Meeting C++ 2022
- What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023
- What is Low Latency C++? (Part 2) - Timur Doumler - CppNow 2023