Programming languages evolve in steps. They began with weakly typed lan guages like FORTRAN and progressed to strongly typed languages like PAS CAL. This had the positive effect of moving the detection of many programming errors from run-time to compile-time. Unfortunately, it was soon recognized that it had the negative effect of limiting the generality of functions since they were now bound to a specific data type. This virtually eliminated the writing of reusable software components. The result was that programmers had to re-implement common algorithms and data structures over and over again. Newer languages, like C++, provide a way to decouple algorithms and data structures from the data types upon which they operate. C++ provides this capa bility via the template mechanism. Suddenly, it became possible to write generic algorithms and data structures that could be reused. In effect, this provides de bugged software components that can be combined to form programs much faster than by re-implementing the components each time they are needed. At the same time that programming languages were evolving, computer hard ware was becoming incredibly inexpensive compared to programmers' salaries. This provided a strong incentive to reduce costs by increasing programmer pro ductivity. Software reuse was seen as one way to increase programmer productivity.
Provides a comprehensive introduction and guide to the STL pitched at the level of readers already familiar with C++ * A thorough overview of the capabilities of the STL, detailed discussions of the use of containers, descriptions of the algorithms and how they may be used, and how the STL may be extended * Appendix with alphabetical reference to the entire STL
The standard template library for C++ (the STL) is an important addition to C++ and is rapidly becoming required knowledge for all C++ programmers. It provides a collection of generic data structures and algorithms written in C++ and has been adopted by the ANSI committee for the standardization of C++. This book provides a comprehensive introduction and guide to the STL pitched at the level of readers already familiar with C++. It presents a thorough overview of the capabilities of the STL, detailed discussions of the use of containers, descriptions of the algorithms and how they may be used, and how the STL may be extended.
Robert Robson
C++ programming language Standard Template Library algorithms complexity data structures template