from:http://blog.csdn.net/is2120/article/details/44317241
Below is reproduced in the blog read a C + + book reading list, you can refer to the following:
Stage 1
"Essential C + +"
This is a little but practical introduction to C + + books, emphasizing the quick start and understanding of C + + programming. This book focuses on a series of increasingly complex procedural questions, as well as the language features used to solve these problems. You learn not only the functions and structures of C + +, but also the purpose and rationale of their design.
"C + + Primer"
This book is a comprehensive and authoritative description of C + + basic concepts, techniques, and modern C + + programming styles, and is the best guide for beginners in C + +. This book helps you write practical programs without having to master every detail of the language first. For senior programmers, this book is also an indispensable reference.
Stage 2
"Effective C + +" and "more effective C + +"
The author is Scott Meyers. You should familiarize yourself with them and understand each project clearly. The book revolves around 55 guidelines, each of which introduces a way for you to write better C + + program code, which is discussed in detail in specially designed examples.
"Exceptional C + + (C + + programming Anatomy)" and "more exceptional C + +"
Both of these books contain 40 C + + programming problems that will allow you to hone your skills and eventually become a good C + + programmer. These issues are carefully selected by Herb Sutter, consistent with the Iso/ansi C + + official standards, to help programmers maintain a good style in their design, architecture, and coding process, making the written C + + software more robust and efficient.
Stage 3
Inside the C + + object model (Deep Exploration of C + + objects models)
This book focuses on the underlying mechanisms of C + + object-oriented programming, including structured semantics, generation of temporary objects, encapsulation, inheritance, and virtual-virtual functions and virtual inheritance to help you understand the underlying implementation of the program in order to write more efficient code.
the design and evolution of C + + (Designing and evolution of C + + language)
The author of the book is also the C + + language designer Bjarne Stroustrup, the author in the book comprehensively introduced the development history of C + +, the essential meaning and design background of various important mechanisms in C + +, the basic use and use of these mechanisms, discussed the C + + The appropriate application areas and their future development prospects have not overlooked the critical details and are not too bogged down in technical details.
Stage 4
"The C + + standard library"
This is the Standard Template Library dictionary, you can find all the STL related knowledge in this book. This book focuses on standard template libraries, inspection containers, iterators, function objects, and STL algorithms. Each element has a profound presentation, including its introduction, design, application examples, detailed explanations, pitfalls, unexpected hazards, and related categories and functions.
"Effective STL"
This is Scott Meyers's third C + + monograph, and the most authoritative book for learning STL. The author makes a detailed analysis of the 50 guidelines in the book, with examples. These rules enable C + + developers to maximize the use of STL.
"Generic Programming and the STL (Generic Programming and STL)"
This book describes the core concepts of generic programming: Concepts (concept), modeling (model), and refinement (improvement), and shows you how these concepts derive the basic concepts of STL: Iterators (iterators), Containers (container) and Function objects (functions object). As described in this book, you can think of STL as a library of concepts that you will learn about the formal structure of STL and understand its powerful advantages.
Stage 5
"Exceptional C + + style"
The author is Herb Sutter. The book also presents 40 C + + style-related issues, provides new insights into some of the critical C + + details and interrelationships that provide new strategies for today's key C + + programming technologies, such as generics programming, STL, exception security, etc., to help developers between overhead and functionality, elegance and maintainability, Find the perfect balance between flexibility and excess flexibility.
"C + + template"
This is a complete reference manual and tutorial on C + + templates that emphasizes the use of templates and includes examples from the real world. Every C + + programmer should read this book well.
"Modern C + + design (modern C + + designs)"
Author Andrei Alexandrescu opened a new situation for C + + programmers. This book provides cutting-edge approaches to software design, such as federated design patterns, generic programming, and enables programmers to write expressive, flexible, highly reusable code.
"Thinking in C + + (C + + programming Idea)"
The authoritative works of C + +, introduced the practical programming technology and best practice method of C + +.
Translation The ultimate recommendation for C + + books
Jerryzhang 03/04/2012
Statement:
- Translation is only for the purpose of technical learning and communication, please be sure to indicate the original link if you need to reprint.
- Source: Http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
English proficiency is limited, plus in the StackOverflow mix of people, mother tongue are with a certain local color, to our chinenglish. If you feel wrong, please leave a message.
All levels
1. "C + + programming language" (Bjarne Stroustrup) [The C + + programming Language]
Comment: the classic C + + introductory textbook. Comparable to the K&r, it feels very similar, and it covers all the core of the standard C + + language. I haven't read this book, I don't make a comment. The book "K&r" refers to the C programming language, which is a classic, which I have. After reading, feel quite comprehensive, and deeply can feel a bit of Unix breath.
2.c++ Library: Self-study tutorials and reference manuals (Nicolai josuttis) [C + + standard library Tutorial and Reference]
Introduction to the C + + standard library and reference manual
Personally, the book is a must-have for every C + + programmer, and the book, as its name, is a handbook. The whole book is about C + + library functions. If you want to learn C + + STL, choose this book first familiar with the STL is a very good choice. I've seen it 3 times, and every time there's a new harvest.
3.The C + + IO Streams and Locales (Angelika Langer and Klaus Kreft)
Comment: In addition to C + + IOstream and locales, there is hardly anything else involved. If you want to know about stream and locale, this book is your best choice.
I've never heard of this book before, and I seldom use C + + IO. Accustomed to the C language format operation, the total sense of C + + this piece does not do well.
4.The C + + standard (Incits/iso/iec 14882-2011)
Rating: This, the course, was the final arbiter of all and is or isn t C + +. Be aware, however, that it's intended purely as a reference for experienced users willing to devote considerable time and effort to its understanding. As usual, the first release was quite expensive ($300+ US), but it had now been released in electronic form for $30US--p Robably the least expensive of the reference books listed here. (The individual is incapable of translating this passage, sorry.)
Beginerintroductory
If you have just started to study programming or you have experience with other languages, the following books are highly recommended:
1.c++ Primer (Stanley Lippman, Josée Lajoie, and Barbara E. Moo)
Review: About 1000 pages of thickness, a very comprehensive introduction to C + +, covering all aspects of the language, explained in very detailed.
I read the "C + + primer" after reading "C + + primer", and I learned C language and data structure before. Feel that there is a certain difficulty, the back of the object-oriented and generics almost do not understand. As a novice, does this book really fit? I questioned. But the book's good is undeniable, it is worth to read a few more times. [For the fourth edition]
2.Accelerated C + + (Andrew Koenig and Barbara Moo)
Rating: This basically covers the same ground as the C + + Primer, but does so on a fourth of its space. This is largely because it does does attempt to be a introduction to programming, but a introduction to C + + for people wh O ' ve previously programmed in some and other language. It has a steeper learning curve, but, for those who can cope with this, it's a very compact introduction into the LANGUAG E. (historically, it broke new ground by being the first beginner's book using a modern approach at teaching the language. )
3.c++ Programming Ideas (Bruce Eckel) [Thinking in C + +]
Comment: There are two volumes, the second volume is mostly in the standard library, but it is still very good.
4.c++ Programming Principles and Practices (Bjarne Stroustrup) [Programming:principles and Practice Using C + +]
Rating: Very good, not just a book for beginners.
I haven't read it, but I want to read it.
Best practices
1.Effective C + +
Comment: every C + + programmer should read the book. Earlier versions were for programmers who went from C to C + +. The third edition has been modified, and the program is positioned in a C + + programmer that transforms into a language like Java. 55 specific practices for improving procedures and design. It's really great to upgrade C + + 's essential books.
2.Effective STL
There is this book, but not finished, no evaluation.
Intermediate
1.More effective C + + (Scott Meyers)
Comment: More rules than effective C + +, not effective C + + so important, but still should know.
I have this book, I feel that the contents of the content than effective C + + to be more detailed and in-depth, a part of the not read. Listen to good books.
2.Exceptional C + + (Herb Sutter)
Assessment: Resource management and Exception security in RAII. Pimple idiom, name lookup, good class disign, and C + + memory model.
Look at the evaluation would like to read, wait for the pay, decisive buy.
3.More effective C + + (Herb Sutter)
Review: Effective C + + supplements, including topics of exceptional security. In addition, we discuss the efficient C + + object-oriented programming and the mis-use of STL.
4.Exceptional C + + style (Herb Sutter)
Comment: Discuss generic programming, optimization and resource management. Also excellent shows how to write modular code in C + + non-member functions and single reponsibility principle.
5.c++ Coding Specification (Herb Sutter and Andrei Alexandrescu) [c++coding standards]
Comment: Coding specification does not mean "indent a few spaces in code". This book contains 101 good practices, styles (idioms), and common pitfalls that can help you write the right, easy-to-understand, and efficient C + + code
6.c++ templates: Full guide (David Vandevoorde and Nicolai M. josuttis) [C + + template:the Complete Guides]
Comment: This is a book about C + + templates. He covers template meta-programming from the most basic to advanced, and explains in great detail the working mechanism of the template. The parsing process for the ODR (one defnition Rule) and overloading.
I was reading this book in the sophomore winter vacation, when I just finished the C + + language. Maybe the reason is not enough, just look at the whole book of 1/3, that is, the basic part of the template, then did not see much. Nevertheless, the basic part of the 1/3 was a good basis for my subsequent STL learning. Want to learn STL students, must first to learn the template, otherwise it is equivalent to the library function.
Above Intermediate
1.Modern C + + Design (Andrei Alexandrescu)
Review: This book is a groundbreaking book for Advanced generic programming techniques, introducing policy-based design, a list of types, and a basic generic programming style. Explains how many useful design patterns (including small object Configurator, functor, factory, visitor, and multi-party methods) can be implemented using generic programming for efficient, modular and clean implementations.
A groundbreaking book on the Advanced generic programming techniques. Introduces policy-based design, type lists, and fundamental generic programming idioms then explains how many useful desig n patterns (including small object allocators, functors, factories, visitors, and multimethods) can be implemented Efficie ntly, modularly, and cleanly using generic programming.
Look at the content like reading Ah!
2.c++ template metaprogramming (David Abrahams and Aleksey Gurtovoy) [C + + template metaprogramming]
Classics/older
Labeling: Some of the information included in these books may no longer be suitable for present or best practice scenarios.
Design and evolution of 1.c++ languages (Bjarne Stroustrup) [The designs and evoution of C + +]
Comment: If you want to know why the C + + language is the way it is now, this book will tell you the answer. This book covers all the stories before the standardization of C + +.
2.c++ Meditation (Andrew Koenig and Barbara Moo) [ruminations on C + +]
3.Advanced C + + programming Styles and Idioms (James Coplien)
Rating: A predecessor of the pattern movement, it describes many c++-specific "idioms". It ' s certainly a very good book and still worth a read if you can spare the time, but quite old and not up-to-date with CU Rrent C + +.
4. Massive C + + software design (John lakos) [Large scale C + + software design]
Rating: Lakos explains techniques to manage very big C + + software projects. Certainly a good read, if it is only is up to date. It was written long before c++98, and misses on many features (e.g. namespaces) important for large scale projects. If you need-to-work in a big C + + software project, you might want to read it, although-need-take-more than a grain of salt with it. There ' s been the rumor that Lakos are writing an up-to-date edition of the book for years.
5. Deep Exploration of the C + + object model (Stanley Lippman) [Inside, C + +
Comment: If you want to know how the virtual function table mechanism is implemented and in a multiple-inheritance scenario, how the base object is in memory layout, how these affect performance. You can find out about these topics in depth.
It's not a good idea to read the book. If you do not have a certain basis, I suggest not to look at the first, the more chaotic. After reading it, I realized that many of the previous understandings were wrong. The translation of this book is not very good, if you have the ability to read English version of it!
PS: I give you a weekly quality blog of your own goals, but as far as I'm concerned, a weekly quality blog is a bit of a challenge. All without good subject matter, later from StackOverflow find some good post to translate it.
C + + books (ZZ)