Top C++ books for beginners and intermediate programmers
Posted on January 2, 2012 by Paul
Updated 24 April 2018
Following is a list of C++ books I’ve compiled in the last years. This is by no means exhaustive and it is obviously subjective. If you feel that I’ve missed an important book feel free to drop me a comment and I will gladly update this list.
Please note that, if you have no previous programming experience, C++ can be a bit daunting. There are people that recommend you to start with a more palatable language like Python or Ruby. What I’ve noticed, from my experience, is that if you are motivated you can learn any programming language, the key is to pick a good book that will let you advance step by step in the language.
Beginner books:
Best C++ beginners book, in my opinion, is Programming: Principles and Practice Using C++ by Bjarne Stroustroup. The book covers C++14 and it is targeted to complete beginners in programming.
Another good beginner book is C++ Primer (5th Edition) by S. B. Lippman, J. Lajoie, B. E. Moo. This book covers C++11 and it is targeted to people that already know another programming language.
If you know the old style C++ (e.g. C++98 or C++03) Bjarne Stroustroup wrote a book targeted to people that want to learn only the new bits of C++11, C++14 and C++17 A Tour of C++:
Professional C++ by Marc Gregoire. This book can be used in pair with one of the above, if you want to learn the new C++17 syntax. Not recommended for a complete beginner.
Discovering Modern C++: An Intensive Course for Scientists, Engineers, and Programmers by Peter Gottschling:
Another good book for a C++ beginner that has some programming experience with other programming language is Accelerated C++: Practical Programming by Example by Andrew Koenig. This book is a bit outdated at this time and covers only C++03.
Intermediate books:
The C++ Programming Language by Bjarne Stroustrup. This is a reference book, intended to be read by intermediate to advanced C++ programmers.
Effective Modern C++ by Scott Meyers. The book covers C++14 and it is intended to be used by people that already know the language.
The C++ Standard Library: A Tutorial and Reference by by N. M. Josuttis:
C++ Concurrency in Action by Anthony Williams:
C++ Templates: The Complete Guide by D. Vandevoorde, N. M. Josuttis, D. Gregor:
C++17 STL Cookbook by Jacek Galowicz:
Modern C++ Programming Cookbook: Recipes to explore data structure, multithreading, and networking in C++17 by Marius Bancila:
Mastering the C++17 STL by Arthur O’Dwyer: