10 Best C++ Books We Are Ready to Recommend (Spring 2023)
C++ is one of the most popular programming languages for system and application programming worldwide. However, is also known to be one of the most challenging programming languages to learn. So if you need a helping hand, a good read can be a place to start. But you should pick it carefully!
In this review of the best C++ books, you will find the best programming manual that suits your proficiency level. You’ll also have information on the authorship, edition, publisher, year of publication, and a glimpse of the content. Without further ado, let’s find out the best programming books for beginners and more advanced programmers recommended by our C developers.
Name | Nomination | Overall rating |
1. A Tour of C++ (C++ In-Depth Series) Learning with this book is learning from the creator of the language himself, but you have to know some C++ beforehand to take advantage of it |
Editor’s Choice | 9.9 |
2. The C++ Programming Language If you’re looking for a book detailing generic C++ concepts, methods, and tricks, all in a comprehensive, academic tone, this book is for you |
Best for Advanced Developers |
9.8 |
The book has plenty of great ideas as well as modern C++ recipes for intermediate and advanced programmers with the knowledge of C++11 |
Best Modern C++ Book |
9.6 |
4. Beginning C++20: From Novice to Professional Only a few books consistently introduce C++20 as this book from Ivon Horton does, so it’s best for those who want to learn this |
Best C++20 Book |
9.5 |
5. Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 The best book for improving on C++11 and C++14, this one answers all the questions about the new features and updates |
Best Book for C++11/14 |
9.3 |
6. C++ in One Hour a Day, Sams Teach Yourself This book is one of the most enjoyable and easy-to-learn C++ books for those who want to start learning the language independently |
Best C++ Book for Beginners |
9.3 |
7. C++ Crash Course: A Fast-Paced Introduction This is a good programming book for those who already started in the world of programming, great for those with intermediate experience and also suitable for ambitious beginners |
Best Fast-paced C++ Programming Book |
9.2 |
This budget-friendly book will make readers proficient in the main language concepts such as Boost Libraries and Standard Library, fast |
Best Budget Pick |
8.9 |
9. Starting Out with C++ from Control Structures to Objects With this book, you can start with C++ control Structures, arrays, functions, pointers, objects, and classes |
Best for Controlled Structures |
8.7 |
10. C++ Templates: The Complete Guide This book shows all the theoretical and practical knowledge of C++ templates, and what effective templates are in the C++ field |
Best C++ Template Book | 8.6 |
Top 10 C++ Books Review
Features:
- Author: Bjarne Stroustrup
- Level of proficiency: Intermediate/Advanced
- of pages: 320
- Edition: 3rd edition (September 24, 2022)
- Publisher: Addison-Wesley Professional
- C++ versions: C++, C++20
A Tour of C++ is our overall best C++ book and our Editor’s Choice because learning with this book is learning from the creator of the language himself. We’re talking about Bjarne Stroustrup, the creator of C++. Bjarne Stroustrup is a computer scientist and Professor of Computer Science at Texas A&M University.
The book presents a C++ language in a compact format, a summary of the book. The highlight here is the approach of the book. He tries to show what the C++ language would be using the modern features introduced in the C++11 standard. For example, he doesn’t waste time explaining how to use a char array to store a string, it teaches you how to use the “new” string type. So “The C++ Programming Language”, is not a textbook for those who are learning the language for the first time. However, we strongly recommend that you understand C.
The book does a quick tour of C++-11 but is quite comprehensive and well-written. You have to know C++ beforehand (basic, including STL) to take advantage of it, but this book will convince the reader to take up C++ again. Its small size is also its strength: it reads quickly and makes you want to dive deeper into the language.
What we liked
- Great for experienced C++ developers that want to get updated
- Written by the creator of the C++ programing language
- Perfect for advanced developers
What could be better
- It’s not written for those with no knowledge of C++, not to mention of C
Features:
- Author: Bjarne Stroustrup
- Level of proficiency: Advanced
- of pages: 1376
- Edition: 4th edition (July 24, 2013)
- Publisher: Addison-Wesley Professional
- C++ versions: C++11
The reason why the C++ Programming Language is the best C++ book for advanced developers is the same reason our Editor’s Choice is the overall best C++ book. Written by the main designer and developer of the language, it recalls and details the foundations of the language. If you’re looking for a book detailing generic C++ concepts, methods, and tricks, all in a comprehensive, academic tone, this book is for you. However, if you want to know how to display a dialog box in Windows, go the other way.
Although a little too detailed on particular historical elements of the language, bringing a cultural element to the courses, it is a book to read, or at least to read diagonally when one claims to develop in C++. This is not a book you read like a novel but an excellent reference book for C++ pros. However, do not throw away the previous version because, despite its thickness, certain aspects of C++ that have become obsolete have been deleted or just touched on. But when we find code that uses these features, we sometimes look in vain in this book for explanations. The old version is then needed.
What we liked:
- The book is a C++ reference manual
- Written by the developer
- The content is very well organized
- Best suited for real programming
What could be better:
- Definitely not for beginners
Features:
- Author: Marius Bancila
- Level of proficiency: Intermediate/Advanced
- of pages: 750
- Edition: September 11, 2020
- Publisher: Packt Publishing
- C++ versions: C++11/14/17/20
Modern C++ Programming Cookbook is our option of the best modern C++ book. The book has plenty of great ideas as well as modern C++ recipes. The book is aimed at a somewhat particular audience, having knowledge of C++11. Some of the basic concepts such as move semantics are simply not explained. But it has a much more vague knowledge of consolidations and successive contributions of later standards (C++14/17/20) and is in search of best practices.
When one falls into this category, the book is really very pleasant to read. Each of the 100 recipes concretely and simply highlights a recent contribution of language and explains how to best use it. However, this book will never win a prize for its style or even for its pedagogy — the author is sometimes a little short of explanation. The author is content to faithfully render the evolutions of the languages and the good practices in force. The interest of the book is basically intimately linked to that of the language, and that’s good enough.
What we liked:
- The book is quite comprehensive
- It’s a good modern C++ book
- Allows readers to widen their knowledge of C++
What could be better:
- Still not for starters
Features:
- Author: Ivor Horton, Peter Van Weert
- Level of proficiency: Beginner/Intermediate
- of pages: 853
- Edition: 6th ed. edition (October 4, 2020)
- Publisher: Apress
- C++ versions: C++20
Only a few books consistently introduce C++20 as this book from Ivon Horton does. It is written comprehensively (carefully from the concept part) in a C++ sense rather than C++ 20. If you’re a beginner in modern C++ (and those who want to start with C++20), you should read this before going to read Scott Meyers or Bjarne Stroustrup.
By the way, the content is clear and easy to read. The content of the book is also well-updated. Recently, there has been a shift towards functional types of different languages, and the evolution of C++ is also surprising. This book is very comprehensive, but this probably is why it’s a bit expensive.
What we liked:
- Comprehensive and updated
- Includes an explanatory intro to C++ 20
- Clear and easy to learn
What could be better:
- Problem with the source code
Features:
- Author: Scott Meyers
- Level of proficiency: Intermediate
- of pages: 334
- Edition: 1st edition (December 5, 2014)
- Publisher: O’Reilly Media, Incorporated
- C++ versions: C++11 and C++14
Effective Modern C++ is the #1 best seller in C programming language online and for us, it’s specifically the best book for improving on C++11 and C++14. It answers all the questions about the new features brought by C++11/14. Please note that this book is not an introduction to modern C++ but rather an “in-depth” guide to the subtleties of the language. Suffice to say that it is not very accessible, and you will reread certain chapters several times. But if you have a good command of C++, it is simply essential. The book is written in an intelligent way to approach all the new aspects. It is also not necessary to read in order.
You can hear Scott explaining the material. Reading is as informative as it is enjoyable. It’s great for a reader that is comfortable with C++98 and wants to learn Modern C++. However, you will need more experience in C++ and have already learned about the new features of C++11/C++14 to comprehend the book.
What we liked:
- Written in a fun way
- Easy to follow the book
- Quite well written by a C++ guru
What could be better:
- Written with the assumption that you’ve read the previous Meyer books
- The information on C++ is not exhaustive
Features:
- Author: Siddhartha Rao
- Level of proficiency: Beginner
- of pages: 848
- Edition: 9th edition (February 22, 2022)
- Publisher: Sams Publishing
- C++ versions: C++20
The Sams Teach Yourself C++ is our best C++ book for beginners as it’s one of the best enjoyable and easy-to-learn C++ books for those who want to start learning the language independently. However, before starting to read, it’s better if you know C or some similar language. The book is quite good with explanations of why things are done that way, with simple examples of what it is teaching you. We also liked that it is well structured.
In addition, this book is cheaper and more up to date. This is ideal for those who started programming in C and when C++ came out, they didn’t follow. It’s a good book for those who want to fill this gap of knowledge. The “learn C++ in 1 hour a day” method is simply brilliant and we recommend it to self-taught people.
What we liked:
- Well-updated and modern
- Ideal for those who have not had C++ experience
- Can also be used to revise C++
- It teaches the programming fundamentals
What could be better:
- There’s a wall of overwhelming information with no exercises; might intimidate beginners
Features:
- Author: Josh Lospinoso
- Level of proficiency: Intermediate/advanced
- of pages: 792
- Edition: Illustrated edition (September 24, 2019)
- Publisher: No Starch Press
- C++ versions: C++17
The C++ Crash Course is the best fast-paced C++ programming book. It’s written for beginners and experienced programmers who want to learn modern C++. The programming book will make readers proficient in the main language concepts such as Boost Libraries and Standard Library.
This is great for those with intermediate experience and also suitable for ambitious beginners. But if you already have previous knowledge, this is the best book for developing complex programs quickly. We also liked that it also goes into great detail about libraries such as Boost and places great value on tests. It’s a good programming book for those who already started in the world of programming.
What we liked:
- Incredibly well-written C++ book
- Comprehensive in size and coverage
- Designed for intermediate and advanced programmers
- Includes over 500 code samples and 100 examples
What could be better:
- Doesn’t include how to add libraries
Features:
- Author: Code Quickly
- Level of proficiency: Basic/Intermediate
- of pages: 227
- Edition: July 29, 2020
- Publisher: Drip Digital
- C++ versions: C++
The programming book will make readers proficient in the main language concepts such as Boost Libraries and Standard Library. But the book is quite short. There are just 227 pages so it’s ideal for those who want to brush up on the fundamentals of C++. It’s written by Code Quickly, which says it all.
However, we’d advise those who know nothing about C++ not to pick this book. There are not a lot of explanations as to why some things are done. So this is best for intermediate programmers with prior knowledge of C and C++.
What we liked:
- Very affordable
- Great for programmers with some experience
- Includes an index of source codes
What could be better:
- Could be more beginner-friendly
Features:
- Author: Tony Gaddis
- Level of proficiency: Beginner
- of pages: 1344
- Edition: 9th edition (February 13, 2017)
- Publisher: Pearson
- C++ versions: C++
If you’re a beginner who wants to start with building objects and controlled structures, the Starting Out with C++ is our best book for starting with controlled structures. It’s very informative and updated. This is the 9th edition and there are 1,344 pages.
With this book, you can start with C++ control Structures, arrays, functions, pointers, objects, and classes. Tony Gaddis’s presentation of the topics is accessible. The book can help beginners learn all the essential details needed to be a skilled programmer. The author deals with the how and why since the book is intended for beginners.
What we liked:
- Well written and easy to follow
- Great book for those who have prior C++ experience
- Very detailed information on the topics
What could be better:
- There are a few code-breaking typos that can be avoided
- The price is on the high side, obviously because it’s lengthy
Features:
- Author: David Vandevoorde, Nicolai M. Josuttis, Douglas Gregor
- Level of proficiency: Intermediate/Advanced
- of pages: 832
- Edition: 2nd edition (September 8, 2017)
- Publisher: Addison-Wesley Professional
- C++ versions: C++11, C++14, and C++17
If you’re looking at exploring all the features of the C++ templates, this is the best C++ template book for updating your knowledge and practical experience. Template is a powerful C++ feature. It is the basis for creating generic programming.
Written for intermediate programmers and advanced developers, the C++ Templates book from authors, David Vandevoorde, Douglas Gregor, and Nicolai M. Josuttis is a complete guide for those who want to get into it. The book offers informational, theoretical, and practical knowledge of C++ templates. It also shows how effective templates are in the C++ field.
Buying Guide
Would you like to develop solutions for operating systems, cloud computing, or robotics especially? C++ is the best programming language for this. It’s faster and more versatile, but C++ is still a fairly difficult language to learn. The C++ books above are some of the best programming guides for beginners or advanced users. And here, we will see how to choose a book for self-taught C++ lessons.
What’s Your Level of Proficiency?
Your level of proficiency with programming and with the C language will determine the book you choose. You can either be a beginner, an intermediate developer, or an advanced programmer looking to get more knowledge.
Beginner
A beginner in this regard is referring to someone who doesn’t have C++ experience at all. Some of the best C++ books for beginners include Sams Teach Yourself C++ in One Hour a Day by Siddhartha Rao, Learn C++ Quickly by Code Quickly or C++ Crash Course are the most ideal.
Intermediate
Someone with basic or intermediate experience can be someone who may not have C++ experience but has started with C. For these programmers, books like Beginning C++20 and Effective Modern C++.
Advanced
Advanced readers are those who already have knowledge of C++ but still want to explore more or update their knowledge with a modern book. In this case, we’ll recommend books like A Tour of C++ or The C++ Programming Language by Bjarne Stroustrup, the pioneer of the language. The Modern C++ Programming Cookbook is also one of the best books to learn C++ for advanced developers. It includes standard library features, will get the developer updated to C++20 and there are over 100 recipes.
Is the Book Up to Date?
Programming is a very finicky field of profession. What you learned 5 years ago may become inadequate for some projects. So you have to keep updating your knowledge. This is where the books for advanced C++ developers come in. And for every book you choose to learn with, the book has to be up to date. You are what you learn from.
Who’s the Author?
The author of the book is perhaps the most important consideration aspect. There are a few authors that are well respected by C++ programmers. Bjarne Stroustrup is perhaps the most renowned C++ author. He is known for being the author of the C++ programming language, one of the most widely used in the world. He is a Danish computer scientist, writer, and professor of computer science. His work, A Tour of C++, is one of the most read by programmers.
Author Scott Meyers is also one of the most popular authors of C++ books. Meyers is an American consultant and internationally recognized expert in the C ++ developer community. A graduate of Stanford and Brown University, he is the author of the reference books Effective C ++, More Effective C ++, and Effective STL. He was a long-time editorial advisor for IT at Addison Wesley.
Another great writer is Tony Gaddis, who also wrote Starting Out With Python, one of the best python books for starters. He seems to be a master of all programming languages as he’s also written Starting Out With Visual C#, which most readers consider one of the best C# books out there.
FAQs
Can I learn C++ by myself?
You can teach yourself C++ especially if there’s prior coding experience. As a beginner, you can get started with C++ relatively easily if you simply neglect the advanced techniques at first. After all, you only learned to read and write simple words with just a few letters before you had mastered the entire ABC. If you focus on commands and control structures at the beginning, you will be better able to learn basic and advanced concepts of object-oriented programming later on.
In addition to the extensive possibilities for programming, C++ also offers numerous libraries with universally applicable subprograms that save you a lot of work. For example, you can use the cross-platform Qt library with the Qt Creator IDE to access databases and design user interfaces (GUIs, Graphical User Interface). IDE stands for Integrated Development Environment. This gives you tools that relieve you of formal tasks and give you more time for the actual program development.
Do I need any experience in programming before learning C++?
C++ requires prior knowledge of C and basic knowledge of C++ or other low-level languages. With little prior knowledge, you can quickly learn C++ to such an extent that you can create good programs for manageable applications. Complex work requires time and patience. Other programming languages such as Java or Python are less demanding.
How hard is it to learn C++?
With little prior knowledge, you can quickly learn C++ to such an extent that you can create good programs for manageable applications. Complex work requires time and patience. Other programming languages such as Java or Python are less demanding.
Does C++ version matter?
Whether you’re better off learning C or C++ first depends on what you want to program, what prior knowledge you have, and how much time and patience you want to invest in the project.
C is recommended for a completely new start in programming. This programming language has fewer language elements, so it is quicker to learn. If you master C, you already know a large part of C++. For hardware-related programs or programs for a microcontroller, you only need the elements that C provides anyway. Also, almost every platform has a compiler for C.
Learning C++ requires more time and patience. You also have more options for large programs. When switching from C to C++ you can build on your knowledge. The reverse way means you have to figure out what doesn’t work in C. If you later want to write a program for a processor that only has a compiler for C, there are numerous sources of error.
C++ is constantly evolving. The last version is C++ 17. C++ 20 is in preparation. One indication that C++ is standard and by no means obsolete is the frequency with which companies seek C++ developers.
Our Verdict
There you have them! Our Editor’s Choice and overall best C++ book is the A Tour of C++ because it’s more like learning straight from the horse’s mouth, which is Bjarne Stroustrup, the creator of C++.
Also written by the same author, The C++ Programming Language is our best C++ book for advanced developers. If you’re looking for a book detailing generic C++ concepts, methods, and tricks, all in a comprehensive, academic tone, this book is for you.
Finally, the Modern C++ Programming Cookbook is our option for the best modern C++ book. The book has plenty of great ideas as well as modern C++ recipes for fast programming.
References:
https://learn.microsoft.com/en-us/cpp/cpp/templates-cpp?view=msvc-170
https://www.futurelearn.com/info/courses/robotic-future/0/steps/29368