REVIEW - The C++ Standard Library - A Tutorial and Reference

Title:

The C++ Standard Library - A Tutorial and Reference

Author:

Nicolai M. Josuttis

ISBN:

9780201379266

Publisher:

Addison-Wesley Professional (1999)

Pages:

1099pp

Reviewer:

Mark Radford

Reviewed:

November 2000

Rating:

★★★★★

Highly recommended without reservation to all C++ users.

C++ programming literature has been giving much of its attention to the STL in the last couple of years, authors and publishers jumping on this new bandwagon. As usual some of the books were bad, but also some have been very good.

There is however, a problem even with the best of these books, in that by concentrating on the STL they divert attention from the rest of the C++ standard library, of which the STL is just a part (don't let me give the wrong impression, the book covers the STL in full). The book under review is the remedy that has been long awaited, but I believe it has been well worth the wait!

Here, the entire standard library gets the treatment, benefiting from an author who is a real insider. The explanations are excellent, being thorough and very readable at the same time. The book is structured such that it is easy to read in as much or as little detail as desired. However, if I had to pick out one feature which impressed me the most, it would be the examples: they are kept as simple as possible, but no simpler! In addition, known traps and pitfalls are explained. For example, problems that can arise when function used as predicates to algorithms hold state: that is, unexpected results occur if these function objects are copied internally. The root cause of the problem being that the standard makes no guarantees about internal copying of function objects, a matter currently under discussion in the library working group.

Finally, please do not be put off by the book's size. Buying this one will probably save you buying several other books. This review probably comes across more like an enthuse than a review. If so, it's because this book is just plain excellent and comes like a breath of fresh air after the last few books I've reviewed. Highly recommended without reservation to all C++ users.


Book cover image courtesy of Open Library.