With the C++ Standard Template Library (STL), C++ developers have a powerful toolset for maximizing productivity, software quality, and performance at the same time. STL provides both a comprehensive set of container classes and fundamental algorithms to go with them -- a large, systematic, clean, formally sound, comprehensible, elegant and efficient framework for C++ development. Now, in this long-awaited book, the creators of the C++ Standard Template Library explain it authoritatively and in depth. KEY Each chapter of The Standard Template Library covers one STL component, including background, a review of the standard, techniques for using and implementing the component, and hands-on exercises. Appendices present lists of reserved names, a detailed glossary of terms and references, and practical techniques for interfacing the STL with several leading C++ compilers. For every experienced C++ programmer.
Phillip James Plauger is an author and entrepreneur. He has written and co-written articles and books about programming style, software tools, the C programming language, and science fiction short stories.
There are still a few gems about the STL buried in this text. For instance, the chapter on sets, multisets, maps and multimaps has a short discussion about when to instead use a sorted std::vector/std::deque and std::binary_search. Additionally, as mentioned several times, many algorithms that people say find an element in a container that is "equal" to some value in fact only find an element that is "equivalent" according to the comparison operator (eg., operator<). This can be important and, because it's not what many programmers think happens, a potential source of a long debugging session.
The various discussions about the tradeoffs in this particular implementation of the STL are also enlightening.