This question collects C++ literature
Format:
First Name Last Name – “The title of the book in its entirety”, YYYY.
Format for translated literature:
Name Surname – “Full name of the book”, YYYY translation (“Full name of the book”, YYYY)
- Don’t post new replies – edit this one.
- Don’t link to illegal content like torrent trackers.
- Try to keep the categorization.
- Save alphabetical (lexicographic) sorting by book title. (when will she be)
This list is part of the community maintained Programming Tutorials Collection .
Answer 1, authority 100%
If in doubt about your choice, follow the simple and objective guidelines at the end of this answer.
For Beginners
- Stefan Randy Davis – C++ for dummies, 7th edition
- Siddhartha Rao – Master C++ one by one an hour a day
- Bruce Ekkel – Philosophy of C++. Introduction to Standard C++
- Bruce Ekkel – Philosophy of C++. Practical Programming
- Stanley Lippmann, Josie Lajoye, Barbara E. Moo – C++ programming language. Introductory Course (C++ Primer)
- Stanley Lippman – Fundamentals of C++ Programming. Volume 1 (Essential C++)
- Robert LaforĂȘt – Object Oriented Programming in C++
- Bjarne Stroustrup – * Programming. Principles and practice using C++. 2nd ed. (Programming: Principles and Practice Using C++) *
The second edition is obligatory – the first Russian edition has a huge number of mistakes! - Andrew Koenig, Barbara E . Moo) – * Effective C++ Programming. C++ In-Depth book series, 2002 (Accelerated C++: Practical Programming by Example, 2000 ) *
A basic C++ tutorial for those who already have some programming experience in other languages. - Herbert Schildt – C++ Basic Course
There is an opinion that this book contains a lot of inaccuracies and errors. However, it is popular as an elementary learning book.
Intermediate
- Nicolai M. Josuttis – * The C++ Standard Library: A Reference Manual, 2nd Edition, 2014 (The C++ Standard Library – A Tutorial and Reference, 2nd Edition, 2012 ) *
- Scott Meyers – 55 Tips to Improve Your Programs and Code (Effective C++: 55 Specific Ways to Improve Your Programs and Designs)
- Scott Meyers – Most effective use of C++. 35 New Ways to Improve Your Programs and Designs
- Coat of arms of Sutter – * Solving complex problems in C++ & nbsp; (Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions.) *
- coat of arms satter – * New complex tasks on C++ (More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions) *
- Bjarne Stroustrup – C++ Programming Language (The C++ Programming Language)
- Andrei Alexandrescu – Contemporary design on C++ (Modern C++ Design: Generic Programming and Design Patterns Applied)
- coat of arms satter, Andrei Aleksandreska – C++ programming standards
- Biarne Sturastrup – C++ programming language . Short course, the second edition
for high level
- Bjarne Strustrup (Bjarne Stroustrup) – Design and Evolution C++ (The Design and Evolution of C++)
- Stanley Lippman – & nbsp; (Inside the C++ Object Model)
- Scott Meyers – Effective and modern C++ ( Effective Modern C++)
- Peter Gottshling – Modern C++ for programmers, Engineers and scientists (Discovering Modern C++: A Concise Introduction for Scientists and Engineers (C++ In-Depth Series))
- Kurt Ganterot – Program optimization on C++
- David Vandevurd, Nikolai M. Josatetis, Douglas Gregor C++ templates. Developer’s Directory, 2nd Edition
- Anthony Williams – parallel programming on C++ in action
- Marc Gregoire – Professional C++ 5th Edition
Documentation
Where to take the C++ standard?
- E.A. Zuev, A.A. Chuprins Standard C++: Translation, Comments, Examples.
– Moscow: “Your format” LLC. – 2016 – 888 p.
a few words about choosing books from the stackoverflow community
All books presented here are good enough (@avp confirms that there are good programming books). We tried to group them in categories of difficulties based on our own subjective opinion. We try to make only good books on the list, but we will not be able to choose the best for you. Try reading different books and find it yourself. If it is difficult – take it easier, boring – more complicated.
@vlad Recommends: If you can’t choose yourself, take a book number equal to your birthday% list.
Still @igumnov asked to transfer that it would be better if you were taught C++ not in the first language. @Pashapash believes that it is possible and first, but in no way C before C++!
Hope our subjective and controversial opinions helped you understand the basic idea: you must decide what you yourself are what to read and what to learn. The perfect, you can choose only you need a book. Sincerely, @nickvolynkin.
Here you make a card to navigate (picture clickable):
Answer 2
This is the answer for beginners to learn C++ and maybe even the first language.
The entire list of references is for beginners from the answer above the fully obsolete waste paper for the beginning of 2000 including updated publications. Perhaps these books were useful in those days now they completely lost their relevance.
How to distinguish good literature from bad for beginners to learn C++ in 202x?
everything is simple – it is not. There are good books, but they are absolutely not exactly for beginners. In order to start studying the language, you need to write a ton of literature at once without this, but you will not learn from it on it, and tasks from books 90% of students cease to do after the first 5-6 chapters, simply because there is no interactivity and You can not tell you whether your solution is correct and how much it is right.
Also most of the books, supposedly for beginners “, will tell about how , how is allocated in the smallest details like Types are displayed in templates and even how the preprocessor is and all this in the very first and main part of the book. But how to create a banal vector and sort his QSORT you will see somewhere 500 page. So if you see something like
chapter 27. Standard template library
just close this book , the same situation with other sources.
How to be and where is it studying C++?
Today there is an excellent series free C++ study courses on Coursera : Development Basics on C++ . Unfortunately, I don’t know others yet, someone will complement me.
Here is the first course in this series: https: //www.coursera. ORG / Learn / C-Plus-Plus-White
PS
If you now spin in the head : “what kind of idiot of the condemning book of Matters C++ and does he know what he says . Here is the report from the annual C++ conference from one of the authors of these courses and with experience in learning issues: C++ Russia 2018: Ilya Shishkov, like Teach C++ language: Experience Courses on Coursera
Answer 3
For lovers of simplicity, minimalism and means of what is being done – I recommend Andrei Viktorovich Stolyarova’s books (MSU):
Programming: Introduction to the profession. Volume IV: paradigms
In the second book, he tells about the FLTK graphical interface library.
By himself now, I go – a rather pleasant fundamental education and a working code I get.