C++11 reading list

By | October 30, 2013

C++11 (formerly known as C++0x) is the most recent version of the standard of the C++ programming language. After it was approved by ISO in 2011, many books have been published to embrace the updates. Here are THREE core books that I recommend: one language tutorial, one library tutorial, and one bible.

C++ Primer (5th Edition)



Although it is called “primer”, this book is actually written for both beginners and experienced C++ programmers. The 5th Edition is fully updated and recast for C++11 standard as well. As a real tutorial of C++ programming language, it provides authoritative and comprehensive introduction to C++11. Another highlight is its huge amount of examples to help readers learn and understand the language fast.

The C++ Standard Library: A Tutorial and Reference (2nd Edition)



The previous book spends large volumn on the C++11 standard itself, but not too much on the C++11 stardard library. This book happens to fill the gap. More importantly, rather than provide comprehensive documentation of each library component, the author is more willing to explains the designing philosophy behind the library. Therefore, the readers can also learn advanced programming skills and experience beside how to use C++ standard library. I think this might be the main reason its first edition has been considered a true classic all the time.

The C++ Programming Language (4th Edition)



Compared with the above two, this book is more ambitious. Since the first edition, this books is considered the bible of C++ programming that covers every corner of C++. The author, Bjarne Stroustrup, is not only the designer and original implementer of C++, but also a founding member of the ISO C++ standards committee and a major contributor to C++11. Therefore, this book is quite authoritative. But consider its 1328 pages, I would treat it more a reference than a textbook. And I don’t think this book is writen for beginners either.

Leave a Reply

Your email address will not be published. Required fields are marked *