In C + + has been seven or eight years, but also a bit to share things, the following recommended books are mostly electronic Version. For technical books, The electronic version does not bring a good reading experience. If you like it, it's best to find cardboard (the library is a good place); the electronic version is more suitable as a reference book for a computer. I will be divided into basic articles, windows, and Linux/unix three sections to introduce these classic books:
Getting Started with C + +
"c + + Primer"
My C + + primer is "c + + University tutorial", This book more than 800 pages, because of long study time, a semester to learn such a book, time of the rich, let me have enough time to absorb. 80% of the code in the book I knocked on the PC run, and then read the "c + + primer" When the One-week effort has been turned over. All are introductory books, the introduction is also Comprehensive. Just contact C + + friends, at least the book should be well Over.
Language skills, Performance Optimization"effective C + + must know will" "more effective C + +" with the language foundation, followed by the details of the deep, and further understand the essence of C + +. "effective C + +" can be seen as a C + + troubleshooting manual; for the C + + language level in-depth things, error-prone knowledge points, in this book can find a satisfactory answer, suitable for multiple tastes. "c + + must know will" "more effective C + +" as to effective C + + did not finish the supplement, can be regarded as the former after reading the meaning of the use of the past; by the way, these three books are not thick, brochures, each of the days of Kung fu can be done;
Bottom Hard GoodsC expert programming, C and pointers C + + originates from c, for pointers, for various addresses of the offset calculation, for Big-endian small end of the deep analysis, but also rely on some hard currency to parse; these two books, although not thick, but it is difficult to read, the amount of information is very sufficient, many are not aware of the use of C + + But they are all important points. Let a person know the reason why the pleasure, involving the underlying things, are used to verify that programming skills are SOLID. To master the bottom of the C + + things, still have to look at the expert programming, very good two books, pointers, etc. speak very thoroughly.
STL"C + + Standard program library" "generic programming and stl" "stl source analysis" "c + + Standard program library" is an encyclopedia type, explain the foundation, but the language is dull (is written in the perspective of the reference manual), not the courage to turn it all over, Pick up the interesting and the lack of their own part of the view (inside about the smart pointer on the discussion, but also good); "generic programming and stl" in the face of the extraction mechanism and the concept of the various generics is very thorough, the first 6 chapters are the main chapters, can not be skipped. The following can be coded in practice or Search. Later chapters can be used as manuals after reading, and the common algorithms and containers in STL are categorized and given a considerable number of examples. "stl source code analysis" every article recommended in-depth STL should not have this Book. Here are a few questions to look at: the implementation mechanism of the dqueue in 1.STL (how the data structure is organized, the implementation of its iterator insertion and Deletion) 2. Is it familiar with red and black trees, can describe its insertion and deletion process, how to Adjust. 3. Several implementations of extractor
BoostIntroduction to The--boost Library of C standard libraries when the standard library can no longer satisfy you, it is the Boost. programming, pay attention to two efficiency, one is the development efficiency, two is the operation Efficiency. Compared to other compiled languages (java, C #, etc.), C + + belongs to the latter, which is very efficient, but the development efficiency is really LOW. In addition to the lower C + + reasons, The other reason is that the standard library provides insufficient Functionality. There are not too many tools, want to achieve anything to have to do it all over again, the repetitive work of the wheel is constantly playing in the programmer; the boost library is an extension of the C + + standard library, so we have more tools to choose from during Development. Tools such as regular expressions and smart pointers are very useful tools, and function objects, lambda, make us more elegant in writing C + +, and a book here is an introductory classic for Boost. Its purpose is to make you interested in Boost. Once you have an interest, go directly to the Boost's official Internet café and take whatever you need.
Design Patterns"design mode" "design pattern fine solution" "tao nature" "design mode" is the Bible in this field, not all Read. Although classic, but one page after the end of the page, it is really a point of patience. Unlike the style of a foreigner writing a book, The book looks very tired (this is also a reference manual). I think there are a lot of points of interest when you look at this book after you have some knowledge of most models. "design pattern refinement" My way of designing patterns is to get started with this book, to explain how patterns are used in several instances, and why to use patterns (which may be more important), but it's also about 10 models. Interested in Design patterns, beginners recommended; "tao nature" is a very good book written by the Chinese people, with their own written framework system as an example, throughout the full text, explain the use of various patterns. After looking at it, I realized that the application of the model in large projects, especially in this framework system, was really in place. At the same time, familiar with the MFC friends will be in this book to harvest more things, MFC is a framework system, through the Book's explanation, you can experience the internal design of MFC and why so design (the book is specifically about the design of mfc), at the same time, in the Single-piece mode, Also brings out the role of Theapp in MFC (why do you want to schedule a Theapp global variable in mfc?). This is the only book I have ever seen that explains the problem); the algorithm article "programming Zhu Ji nanxiong" to explain the data structure and algorithm skills of the compression axis good Book. The basic article on this, the following will discuss the application of C + +, windows and Linux/unix articles; (original address: http://www.cnblogs.com/me115/archive/2012/12/26/2833346.html)
Go C + + Learning – Foundation (book recommendation and Sharing)