A collection of resources on modern C++.
The goal is to collect a list of resources to help people learn about and leverage modern C++11 and beyond.
Library, framework, tool and project template listings are outside the scope of this list.
To add, remove or change things on the list: please submit a pull request to the GitHub repository.
- A Tour of C++ (Bjarne Stroustrup) [C++11/17/20]
- The C++ Programming Language (Bjarne Stroustrup) [C++11]
- Effective Modern C++ (Scott Meyers) [C++11/14]
- Overview of the New C++ (Scott Meyers) [C++11/14]
- C++ Core Guidelines (Bjarne Stroustrup, Herb Sutter) [C++11/14/17] - Guidelines for using modern C++.
- C++ Concurrency in Action (Anthony Williams) [C++11/14/17] - Reference and guide to writing multi-threaded code with standard C++.
- C++17 - The Complete Guide (Nicolai M. Josuttis) [C++17] - Giving guidance on how to use Language and Library Features of C++17.
- Professional CMake (Craig Scott) - A practical guide for using CMake to build your C++ projects.
- Modern C++ Tutorial: C++ 11/14/17/20 On the Fly (Changkun Ou) - The book claims to be "On the Fly". Its intent is to provide a comprehensive introduction to the relevant features regarding modern C++ (before 2020s).
For a comprehensive guide to C++ books see the Stackoverflow Definitive C++ Book Guide and List.
Find the latest C++ news and updates:
Listen to the latest C++ podcasts:
- CppCast (YouTube, Twitter) - The first podcast by C++ developers for C++ developers!
- Cpp.chat (YouTube, Twitter) - Comments on c++ and issues of interest to c++ programmers.
- C++ Weekly - Educational videos by Jason Turner.
Read the latest C++ standard proposals:
Discuss everything related to C++:
- r/cpp - The C++ subreddit.
- C++ Slack - The C++ Slack workspace.
- CoreHard Telegram group.
Ask your C++ questions:
- r/cpp_questions - A subreddit for C++ questions and answers.
- Stackoverflow C++ / C++11 / C++14 / C++17 / C++20 - Stackoverflow questions about C++.
Maybe your question was already answered in a FAQ?:
Go to one of the many C++ conferences:
Find C++ user groups:
- Meeting C++ list of user groups.
- List of user groups in the C++ Super-FAQ.
- C/C++ meetups.
- Search for channels starting with
#ugin the C++ Slack.
Start with SG20 Education and Recommended Videos for Teaching C++.
- CppCon Talks - Talks from the C++ Conference.
- CppCon 2014: Bjarne Stroustrup "Make Simple Tasks Simple!"
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part II"
- CppCon 2014: Scott Meyers "Type Deduction and Why You Care"
- CppCon 2015: Bjarne Stroustrup "Writing Good C++14"
- CppCon 2015: Herb Sutter "Writing Good C++14... By Default"
- CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."
- CppCon 2016: Herb Sutter "Leak-Freedom in C++... By Default."
- CppCon 2017: Jason Turner "Practical C++17"
- CppCon 2018: Jonathan Boccara “105 STL Algorithms in Less Than an Hour”
- code::dive conference 2014 - Scott Meyers: Cpu Caches and Why You Care (slides)
- code::dive conference 2015 - Andrei Alexandrescu - Writing Fast Code I (slides)
- code::dive conference 2015 - Andrei Alexandrescu - Writing Fast Code II (slides)
- C++Now Talks - Talks from the C++Now conference.
- Going Native 2012: Variadic Templates are Funadic
- Going Native 2013: Stephan T Lavavej - "Don't Help the Compiler"
- Going Native 2013: Sean Parent - "C++ Seasoning"
- Andrzej's C++ blog - Guidelines and thoughts about C++.
- Anthony Williams' blog
- Embedded in Academia - John Regehr, Professor of Computer Science, University of Utah, USA.
- Eric Niebler
- Fluent C++ - Expressive Code in C++.
- Guru of the Week (new posts) - A regular series of C++ programming problems created and written by Herb Sutter.
- Guru of the Week (older posts) - Older Guru of the Week posts.
- Marshall's C++ Musings
- Paul Fultz II's Blog
- Preshing on Programming
- Simplify C++ - Write clean and maintainable C++.
- Sticky Bits - A blog looking at developing software for real-time and embedded systems.
- Sutter's Mill - Herb Sutter on software development.
- The View from Aristeia -Scott Meyers' Professional Activities and Interests.
- Visual C++ Team Blog
- Why is a raven like a writing desk?
- C++ Best Practices - Collaborative Collection of C++ Best Practices.
- C++ Patterns - A repository of modern C++ patterns.
- C++ reference🔥 - C++ reference.
- C++ By Example - Learn C++ by Example!
This list was compiled by Erik Rigtorp with help from the C++ community: