C + + reading bibliography after the C++11 standard

Source: Internet
Author: User

The release of the new C + + standard C++11 has led to the emergence of a large number of new books, as well as some classics. Andrew Binstock on Dr.dobbs to introduce some of the core books required to learn C + +.

1. "C + + programming language" English fourth edition, Bjarne Stroustrup

This book has been formally listed as the authoritative book for C + + programming. It is the language of the authority, unique, written clear, by the design of C + + Stroustup. Some readers may think that the ANSI C + + documentation is the best choice, but this book, as a very concise reference book, is better suited to the

Readers who have some knowledge of the language. The book provides a friendly explanation for the new features, plus some advice on what needs to be done and what to avoid, making it the best choice for readers who want to understand specific features. In this sense, this book is far more than a reference tutorial.

Some external aspects may be demeaning to the book, especially since it does not use the same wide font to print code. For some readers, this looks pretty, and it discards the normal code reader, who wants to align vertically, but that's not possible. In spite of this, the layout of the code is much better than the previous version. Another concern is about C + + itself, not the book. This version has 1328 pages, about 1000 pages more than the original version. Stroustrup a few introductions to libraries, which are enough to illustrate how complex C + + has become. Despite these problems, I know that for C + + programmers, no matter how difficult it is to use the new features of the language, they have to stick to it, and only then can they move forward. Highly recommend this book!

(The Chinese version of the fourth edition has not been published, the current "C + + programming language (Special edition of the 10 anniversary of Chinese version)")

C + + Programming Language 4th Edition

2. C + + Primer 5th edition (English edition), co-authored by Stanley Lippman,josee Laoie and Barbara Moo

Over the years, C + + Primer has become a clear tutorial for C + +. This version is primarily updated for the C++11 standard and is completely rewritten. 900 pages in a dense page, every corner of the language is explored in detail. That may be a bit conservative. The tone and content of the book goes far beyond the meaning of the word "Getting Started" by the title. In the language, no energy saving is a "quick explanation", instead, the quality to the text has been patiently described to ensure that each aspect of the language can be covered, anticipating any problems that C + + programmers may encounter. Do you want to know what the serious consequences of declaring a destructor as a c++11 standard deleted function? I don't know. However, the book will have a detailed answer and refer to other chapters as additional ancillary information.

My only worry about this book is that it is clearly written for readers who already know the basic language. I do not recommend this book to students in school, even some experienced programmers, but first contact with C + +. Its content is too detailed to be effective in mastering the language efficiently through fast reading. But for existing C + + developers, especially those who want to use the new features of C++11, this book is a good choice.

3. C + + standard library: Self-study tutorial and Reference Manual (2nd edition) (English version) Nicolai Josuttis

This is the classic tutorial for the C + + standard library and the second edition of the reference, updated according to the new standard c++11. Unlike many other books that contain libraries and APIs, this is not a cosmetic explanation for a whole bunch of function calls. Instead, it breaks down the standard library (mainly STL) into subsections, explaining the basic methods used for component design. At this point, the author goes into the details of the API and concludes with a summary of all the other methods that might be needed, as well as some brief explanations. The container part is the essence of the design, the interpretation of the internal structure and application, and the comparison between the various options.

These discourses are persuasive, clear-organized and of great information. For example, the sections of STL function objects and anonymous functions took 12 pages just to explain what the function objects are and why they are used. After these discourses, the author spent 12 pages explaining the predefined function objects. At this point, he has laid the groundwork for the final discussion of the anonymous function journey. So the book has a total of more than 1000 pages. Many of these explanations are explained using a short, focused program, so you can understand exactly how a function is used or applied.

The first edition of the book is considered a true classic by many C + + programmers. I think the second edition has no reason to be unpopular. I would highly recommend this unfamiliar reader, either as an upgrade to the first book or another new book. This brief introduction is a good addition to this one.

The C + + standard Library 2nd Edition

4. C + + Concurrency in Action | C + + concurrency Combat "Anthony Wiliams

This book focuses on the in-depth discussion of concurrency when using c++11 features. It is written by the main development and maintenance staff of the boost thread library, which is based on the new threading support for the language. In a word, the author is authoritative.

The book starts with the basics, assuming that the reader already has a good (or even very good) language Foundation, but first touches the parallel code. The book explores some of the problems brought about by concurrency, describes the solutions and limitations of mutexes, and how they are implemented in c++11. Next, we describe the memory model and atomic type of C + +. Finally, the design of lock-based and lock-free data structure is discussed in depth. This is the best approach I have ever seen since Herb Sutter discussed this topic in his book.

This book covers a number of really important topics that are often overlooked in other books, such as multithreaded code design and threading application debugging. Of course, in my opinion, both of these are described too little. Much of the book is used as a reference (almost 130 pages libraries on a separate C + + line). Another appendix is a complete message framework, with code and annotations. There is no doubt that the author has spent a great amount of thought, the relevant content has been mentioned.

I also have some dissatisfaction with this book, but they are insignificant. The first is that you have to know more about C + +, otherwise it is difficult to read. The other is the thread pool described in the last chapter of the author, "Advanced Threading" in red font. In my opinion, it's interesting to have the thread pool set up in parallel, but unfortunately the author stops the pen here. As a result, although the author mentions the role model in the catalogue, it does not explain it as if it does not exist at all, and may, in William's view, be very important to several languages, excluding C + +.

In general, these dissatisfaction can only reflect my preference, does not indicate that the book is flawed. William's book is great, at least for a long time in the future, and is a typical work in this field.

If you want to look more closely at the contents of this book, we have recently been in a very popular article "Waiting for one-off Events with Futures. "There are some clips selected.

C + + Concurrency in Action

5. C and C + + security Code (English version 2nd edition) (Chinese version or first edition) Robert Seacord

This book mainly writes about the security code for C and C + +. The new version, which is almost twice times the original in 2005, shows how much knowledge we've learned about attack code. In fact, when you read this book, you may be confused by the various kinds of things that are in the present. However, as the author has said, security is not only the implementation of anti-attack technology, but in the process of implementation to maintain a safe and defensive thinking. He believes that only by maintaining this mindset can we reduce the damage caused by those unknown attacks.

This book explains in detail the various types of hackers and how to stop hackers or make them feel discouraged. The explanations in the book are clear, and the code is crisp. But it is higher on demand than other programming books: it requires the reader to have a good understanding of C and C++d's execution, and what is happening on the machine layer. Because the necessary knowledge is not mentioned in the book, you may not really understand the essence of the book if you don't know it beforehand.

For those developers who really understand the internal workings of program execution, this book is not just a good introduction, but a revelation. For example, if you are not a security expert, Seacord in the book about how an attack can be activated by doubling the amount of memory that has been allocated, highlighting the simple coding error feature that may be completely ignored. The explanation in the book is instructive.

The essence of the book's practice is to make frequent use of recommended tools to validate code and to lock in access mechanisms that hackers like to explore. This book is really great, it definitely benefits you, of course, it will make you a better programmer.

Secure Coding in C and C + + 2nd Edition

6. "Real-time C + +" Chris Kormanyos

This book simply describes how to use c++11 in real-time projects. The author introduces several basic projects that show how to use C++11 to complete the coding. He uses the Eitmer company's AVR microcontroller as an example, using the GCC toolchain to compile, from product design, to hardware and code implementation, and how to brush and run the program are explained, in a variety of different environments to start the light-emitting diode. The next step is to introduce more complex projects, like writing the underlying hardware drivers in C + +. In the last chapter, we continue to explore the standard C + + libraries and STL for embedded use.

The book is very practical and the code in the book is very clear. It shows that c++11 is a reasonable choice for embedded work. In summary, this book is a good tutorial for C + + developers who want to do embedded programming. But some of the case projects it has chosen may not be attractive to developers who are active in the field.

Real-time C + +


C + + reading bibliography after the C++11 standard

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.