For each quarter, I define three goals for myself as described in Setting yourself up to success. In the previous quarters, I had personal goals related to the C++ Standard Library. As I was already recommended to read it, I started to consume the monstre 1100 pages long book The C++ Standard Library: A Tutorial and Reference (2nd Edition) by Nicolai Josuttis.

I had the solid intention of reading from cover to cover, but I have to admit I failed this. It’s a fascinating book, uncovering a lot of not-so-well-known features and characteristics of the Standard Library, but as the end of its title suggests it should be handled as a reference. You know more or less what is inside and if you need to check something, you can go an open it on the good page.

Speaking about its title, I felt it less a tutorial. From a tutorial I expect exercises building on the top of the previous one to make you think a bit, but not to make you feel stuck for a long time. This book doesn’t include such exercises or any at all. I don’t find it problematic, but better to understand it to avoid unfulfilled expectations.

On the other hand, even in the world cplusplus.com, cppreference.com, not to mention StackOverflow, I think this book has a place on the (virtual) bookshelves of intermediate/advanced C++ developers. It simply covers more and goes into topics deeper than the other mediums I mentioned.

It can also serve as a source of inspiration for developers who want to go to the next step in their careers or for bloggers like me who are looking for more advanced topics to learn and share about.

Probably this latter has been the most important use of this book for me. I found a lot of small parts of the STL, I want to master. Just to mention a couple of alike topics: piecewise construction or template constructors.

I can’t recommend this book to read from cover to cover as I didn’t do it, but I definitely suggest to skim it through and spend more time on the topics you find interesting, first to read the corresponding chapters and then to find ways to practice what you read.