What’s The Problem?

What’s the Problem?

Every programming language needs a standard library of functionality to make it useful — perhaps more than one library (after all, it makes sense to break functionality up into understandable and easily accessible pieces). C++ is no exception, but it took a while before C++ received a library beyond what was a kind of implied library of functions from C.

For example, we’ve seen many places in our earlier coverage where we’ve created our own classes for Vector, Queue, Stack, and others. But these are pretty standard data structures, and we shouldn’t have to implement our own versions.

So, in the interests of software reuse, and correct and efficient implementation, the C++ Standard committee decided to include a set of pre-implemented versions.

These classes, and more, are included in the Standard Template Library (STL).

History

The original work on the STL was done by Alexander Stepanov and Meng Lee at Hewlett-Packard, with major contributions from David Musser, at the Rensselaer Polytechnic Institute.

It was proposed to the C++ Standard committee in November, 1993, and is now part of the approved C++ standard.

It implements a set of classes and algorithms that constitute an approach called generic programming.

STL contains the following:

  • Containers
  • Generic Algorithms
  • Iterators
  • Function Objects
  • Adaptors
  • Allocators

Table of Contents

Index