Needless to say the importance of project practice, like fighting monsters and upgrading, but good books are like martial arts secrets.
I haven’t done C++ for many years, so I can only recommend old books. There should be new content coming out now with the release of C++11.
C++ Coding Standard Effective C++ and maybe More Effective C++, several books have a lot of repetitive content, I personally prefer C++ Coding Standard.
The first chapter of COM Essentials, the essence is in the first chapter, which mainly discusses the problems when using C++ as an interface and the binary compatibility of C++.
Effective STL
New thinking in C++ design Templates + design patterns + strategy-based design. Focus on library writing. Traits, MetaProgramming, Design Patterns
In-depth exploration of the C++ object model. Reading in Chinese will be a bit tiring. English will also be very difficult. But this is a C++ book that must be read.
C++ Templates for in-depth learning templates, please read this book
Imperfect C++
STL source code analysis reference book. While understanding STL, you can also learn some knowledge of data structures.
The C++ Programming Language Although the name is C++ Programming Language Design, the author has included quite a lot of personal information. Personally, I really can’t stand the terminology used in the Chinese translation version.
If you are under Windows, you can check out Advanced Windows Debug
Working Effectively with Legacy Code is about design, about unit testing, about refactoring, and about how to unit test and refactor existing C++ projects, pointing out a way to test-driven development.
How to practice as a programmer
The chapter on design principles in The Art Of UNIX Programming is the essence. The author is verbose and paranoid.
Agile Software Development, Principle Patterns and Practices The second part about design principles is the essence. The book is called Agile, but there is not much agile content in fact. The design patterns part is just the seasoning.
Refactoring and improving the design of existing code. The first three chapters are the essence. Small steps are the essence. Pay attention to every code change to ensure that the compilation is OK and the unit test is OK. The content written by other authors at the end of the book is also worth reading. .
Code Complete, the Chinese version is also translated very well. You can also take a look at Yunfeng’s reading notes
The design patterns and Pattern Hatching books are a bit old, but it goes without saying that they are important. Beginners tend to copy patterns mechanically, and this is also a process of progress.
Clean Code How to write more understandable code
The above content can help you become a good coder (just).
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-...
There are many books in it, let’s summarize
1. Getting Started: C++ Primer, etc.
In addition, C++ Primer and C++ Primer Plus have nothing to do with each other. The latter is not as good as the former
2. Practice: Effective C++, Effective STL
3. Advanced: More Effective C++, etc.
4. Advanced: Modern C++ Design, etc.
So after reading C++ Primer, it is Effective C++
But to be honest, I think you can start writing after reading C++ Primer. You have to learn it on paper but you won’t understand it just by reading the book. You have to jump through the trap to understand why it is a trap
Let me add something. The above mentioned is detailed enough.
In addition to Scott Meyers' effective series, you can also take a look at "The C++ Standard Library", cooperate with "STL Source Code Analysis", and use the STLPort version of the STL source code to study related implementations.
Operating system related. See if you are doing windows or linux. If it is Linux, please read "Advanced Programming in UNIX Environment".
Network related. You can study related network communication libraries ACE and muduo. Teacher Chen Shuo's book "Linux Multi-Threaded Server-Side Programming" is worth reading.
Look at some excellent source codes written in C++, such as MySQL and Apache.
If you are making games, you can learn cocos2dx, from usage to source code.
I also encountered many pitfalls and difficulties in my studies. Many times I missed opportunities before I realized how much I should learn.
Don’t look at the unfamiliar techniques of C++, such as: STL implementation, boost implementation, modern C++, and template classes. You can simply take a look.
Then, it is recommended to read classic programming books on Linux or Windows and combine them with projects.
Master more of the following algorithms and data structures, and then move up to architecture.
In addition, you have the opportunity to learn two high-level languages, such as python, go, etc. In many cases, you don’t need c++
It should just be about doing projects. Just reading books will not improve you. There is a book called "nginx Source Code Analysis" that is worth reading
I have written a C++ book list recommendation before, please see the address below for details;
Of course, check out more book lists recommended by pongba and other big guys: http://www.me115.com/booklist/
Watch the Effective trilogy:
After that, put the book aside and start working on the project.
Have you really finished reading C++ Primer? If you read it hastily, the above three books will not be easy to digest.
Needless to say the importance of project practice, like fighting monsters and upgrading, but good books are like martial arts secrets.
I haven’t done C++ for many years, so I can only recommend old books. There should be new content coming out now with the release of C++11.
The above content can help you become a good coder (just).
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-...
There are many books in it, let’s summarize
1. Getting Started: C++ Primer, etc.
In addition, C++ Primer and C++ Primer Plus have nothing to do with each other. The latter is not as good as the former
2. Practice: Effective C++, Effective STL
3. Advanced: More Effective C++, etc.
4. Advanced: Modern C++ Design, etc.
So after reading C++ Primer, it is Effective C++
But to be honest, I think you can start writing after reading C++ Primer. You have to learn it on paper but you won’t understand it just by reading the book. You have to jump through the trap to understand why it is a trap
Let me add something. The above mentioned is detailed enough.
I also encountered many pitfalls and difficulties in my studies. Many times I missed opportunities before I realized how much I should learn.
Don’t look at the unfamiliar techniques of C++, such as: STL implementation, boost implementation, modern C++, and template classes. You can simply take a look.
Then, it is recommended to read classic programming books on Linux or Windows and combine them with projects.
Master more of the following algorithms and data structures, and then move up to architecture.
In addition, you have the opportunity to learn two high-level languages, such as python, go, etc. In many cases, you don’t need c++
It should just be about doing projects. Just reading books will not improve you. There is a book called "nginx Source Code Analysis" that is worth reading
C++ programming language, the father of C++, in-depth exploration of the C++ object model translated by Hou Jie
Don’t just read books, you need to practice more. You can participate in some projects or do some ACM questions.
I have written a C++ book list recommendation before, please see the address below for details;
Of course, check out more book lists recommended by pongba and other big guys:
http://www.me115.com/booklist/
"STL Source Code Analysis"