The comprehensive catalog of C++ books
Table of content
- Table of content
- Intro: iterating over C++ books
- Reference and ISO Standard
- Beginner to Programming
- Beginner to C++
- General Books on C++
- Advanced Books on C++
- C++ Templates and Metaprogramming
- C++ Concurrency and Distributed Programming
- Low-Level High-Performance Optimizations
- Algorithms in C and C++
- Latest Features Review: C++11/14
- Latest Features Review: C++17
- Latest Features Review: C++20
- Software Design and Design Patterns in C++
- GUI Programming
- Secure Programming Practices
- Windows System Programming
- Windows Kernel Programming
- Linux System Programming
- Linux Kernel Programming
- C++ Embedded Programming
- Network Programming
- Computer Graphics in C++
- Game Development in C++
- Financial Applications of C++
- Hardware Design in C++
- Modern C Programming
- Old and Classic books on C++
Intro: iterating over C++ books
No secret, most of the C++ books on the market are for absolute beginners, and 90% of them are bad. Few good books for intermediate-to-advanced developers, but finding and advising a good read on C++ is almost a scientific problem.
The same with attempts to create some C++ books catalog, here's an example of not the most optimal choice:
Best C++ Books for Beginners and Advanced Level in 2021. Why so? Well, I do not consider books of series "one hour a day" or "for dummies" a worthy technical read. We all know the best way to learn C++ in 21 days

Also, all kinds are reference book in fact are being outdated by the moment of release - the
role of a comprehensive C++ reference successfully taken by
Cppreference.com,
and it's totally fine.
The next problem of C++ book lists is a diversity of C++ applied areas - C++ is a truly universal language, but every applied domain features a different approach and usually requires specific knowledge. System programming, game development, user- and kernel-space. Some books use C++ as a language of choice to solve the high-level problem, like algorithms and software design in C++.
And finally, the comprehensive C++ list is expected to be up-to-date at least with the last language Standard, and just with new interesting books - this list is not bad, even though some choices are questionable, but it's already outdated, not including any books on C++20 one year after the new Standard release.
The most effective way to achieve this state is a continuous community effort, that's why I choose Github as a medium of my C++ books list.
Controversy of Amazon as a primary reference
I was extremely upset myself by the fact I have to use references almost exclusively to Amazon products, but unfortunately, I did not find any alternative source, being the same uniform, comprehensive and trustworthy. By providing these links I do not promote using Amazon services, I do not suggest using it for your purchases, and I do not insert any referrals. Maybe in the future, I will create a catalog of C++ books, providing complete information about listed books, such as author names and brief information about them, release year, annotation, and so on.
Contributions
I would welcome any reasonable contributions in the objective to create a comprehensive and up-to-date catalog of C++ books, for all kinds of C++ programmers, with any professional background and experience. While using or replicating the content, a Creative Commons Attribution-NonCommercial 4.0 International License is applied.
Expressing your gratitude
I created this catalog and keep maintaining it in my spare time. If you wish to thank me for my efforts, you always can buy me a coffee.
Reference and ISO Standard
The release of the C++ Standard is quite a pricey document.
However, every C++ Standard has a number of drafts before the release, and usually, the last one is almost identical to the release document. The following links to the Standard refer to the last draft versions before the release
Beginner to Programming
There's not much to add - books for beginners to C++, and probably to programming in general.
Beginner to C++
These books are for software developers with some experience in other languages,
and willing to become familiar with C++
General Books on C++
These books could be considered a "must-read" list for any kind of C++ programmer. Some of them are a bit outdated, as they cover previous versions of the C++ Standard - in this case, just skip outdated content, or better re-implement it using new features of the language.
- Professional C++ 6th Edition (Marc Gregoire, 2024)
- C++ Common Knowledge: Essential Intermediate Programming (Stephen C. Dewhurst, 2005)
- C++ Cookbook: Solutions and Examples for C++ Programmers (D. Ryan Stephens, 2005)
- Effective C++: 55 Specific Ways to Improve Your Programs and Designs 3rd Edition (Scott Meyers, 2005)
- Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library (Scott Meyers, 2001)
- Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Herb Sutter, 1999)
- More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions (Herb Sutter, 2001)
- Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions (Herb Sutter, 2004)
- C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (Herb Sutter, Andrei Alexandrescu, 2004)
- C++ Programming Language 4th Edition (Bjarne Stroustrup, 2013)
- C++ Standard Library: A Tutorial and Reference 2nd Edition (Nicolai M. Josuttis, 2012)
- Standard C++ Iostreams and Locales: Advanced Programmer's Guide and Reference (Angelika Langer, 2000)
Advanced Books on C++
If you have 5+ years of experience, you should add these books to your library as well. Again, some books may contain outdated features and approaches, but in the general picture, they still provide extremely valuable knowledge.
- C++ Move Semantics - The Complete Guide (Nicolai M. Josuttis, 2020)
- Functional Programming in C++: How to improve your C++ programs using functional techniques (Ivan Cukic, 2018)
- C++ High Performance: Master the art of optimizing the functioning of your C++ code 2nd Edition (Björn Andrist, 2020)
- Memory Management Algorithms And Implementation In C/C++ (Bill Blunden, 2002)
- Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms (pdf) (Agner Fog, 2004)
- Optimizing subroutines in assembly language: An optimization guide for x86 platforms (pdf) (Agner Fog, 2004)
- Calling conventions for different C++ compilers and operating systems (pdf) (Agner Fog, 2004)
- What Every Programmer Should Know About Memory (pdf) (Ulrich Drepper, 2007)
- Learning Boost C++ Libraries (Arindam Mukherjee, 2015)
- Boost C++ Application Development Cookbook 2nd Edition (Antony Polukhin, 2017)
- The Art of Writing Efficient Programs (Fedor G. Pikus, 2021)
- C++ Best Practices (Jason Turner, 2022)
- Beautiful C++: 30 Core Guidelines for Writing Clean, Safe, and Fast Code (J. Davidson, Kate Gregory, 2021)
C++ Templates and Metaprogramming
C++ "template magic" books, mostly up-to-date with at least C++11 Standard.