The C++ Standard Library: A Tutorial and Reference (2nd Edition) by Nicolai M. Josuttis

We are still waiting for some more books about new C++ standard. Fortunately for us, some authors managed to write books even before C++11 is well “domesticated”. One of such examples is the book mentioned in the title of this post.

In short: this is a must-have resource for any C++ developer! It will help you understand new features of the standard. Moreover it will give you in depth view of important areas related to your daily work.

Pros  

  • Nice (but not too long) introduction of the new standard on the first pages of the book.
  • Lots of subjects: Pairs and Tuples, Smart Pointers, Type Traits, Clocks (chrono), STL Containers, New STL Containers, Iterators, Lambdas in STL, Algorithms, Strings, RegExp, IO Operations, Internationalization, Numerics, Concurrency (async, thread, mutex…).
  • Straightforward introduction to the particular feature in the beginning of a chapter and advanced, in depth view, at the end.
  • I was afraid that this book would contain only tables with STL classes/methods. But it is not.
  • Over 1000 pages! So it is quite hard to read it quick. In such books this is an advantage and means that the author did a great job.
  • Very good reviews at Amazon and other sites!

Update from 2021: Big advantage! It looks like even in 2021, this book is important and valid!

Cons  

  • eBook version might have some problems with formatting.
  • Quite heavy… but you can always buy eBook version (if you accept the formatting… :))
  • As usually you may want to look at Errata for this book. But this is not main flaw of course.

Conclusion  

Although for daily work it is usually faster to use such sites like C++ Reference “The C++ …” book is very important and useful resource. Especially when you want to understand STL better.

I bought this book some time ago and I am still reading/using it. It is not type of a book that you would read once and then put on the shelve. It was a great purchase for me.

Now I am waiting for more books that will instruct how to use C++11 through bigger examples/contexts. For instance: Effective C++11.

See more C++ books, courses and websites on my separate page: C++ Resources.