The C++ standard library provides different components that are somewhat but not totally
independent of each other, so there is no easy way to describe each part without mentioning
others. I considered several different approaches for presenting the contents of this book. One
was on the order of the C++ standard. However, this is not the best way to explain the
components of the C++ standard library from scratch. Another was to start with an overview of all
components followed by chapters that provided more details. Alternatively, I could have sorted
the components, trying to find an order that had a minimum of cross-references to other sections.
My solution was to use a mixture of all three approaches. I start with a brief introduction of the
general concepts and the utilities that are used by the library. Then, I describe all the
components, each in one or more chapters. The first component is the standard template library
(STL). There is no doubt that the STL is the most powerful, most complex, and most exciting part
of the library. Its design influences other components heavily. Then I describe the more selfexplanatory components, such as special containers, strings, and numeric classes. The next
component discussed is one you probably know and use already: the IOStream library. It is
followed by a discussion of internationalization, which had some influence on the IOStream
library.
