The C++ Standard Library

Rating: 4/4 (A gentle introduction and a must-have reference for all C++ programmers.)

One of the love-hate features of C++ is the standard library. A predominantly large part of the library is the Standard Template Library (STL), which consists of containers, iterators and algorithms. The C++ programmer combines these classes to write his application. Due to the size of the library, the number of classes and functions and their odd eccentricities, a good reference is needed to use it properly. Thankfully, the The C++ Standard Library (A Tutorial and Reference) by Nicolai M. Josuttis is up to the job. This is probably the C++ book which I have used the most in the past few years.

The containers, iterators and algorithms of the STL use template metaprogramming heavily. However, learning this is still quite an uphill task for most programmers. I love this book because it cleanly sidesteps that part of C++, while still being to introduce and provide a compendium of usage of the STL classes. The reader only needs to read and understand the introductory chapters. The rest of the book serves as a reference to lookup when he actually faces a task that needs a container or algorithm. Chapter 6 (Containers) and Chapter 9 (Algorithms) are what I refer to most frequently almost every day. There are very few books which deal with the C++ standard library, thankfully this one is very good! The C++ Standard Libary is a must-have reference for all C++ programmers.

Advertisements

4 thoughts on “The C++ Standard Library

  1. Anshul 2010-11-02 / 01:31

    Great book. Have you tried Effective STL? That one’s quite fun too.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s