by fzammetti » Mar 18, 2003 @ 10:26pm
STL, or Standard Template Library, is a C++ library that provides a set of easily composable C++ container classes and generic algorithms (template functions).
The container classes include vectors, lists, deques, sets, multisets, maps, multimaps, stacks, queues and priority queues.
The generic algorithms include a broad range of fundamental algorithms for the most common kinds of data manipulations, such as searching, sorting, merging, copying, and transforming.
The most important difference between STL and all other C++ container class libraries is that most STL algorithms are generic: they work on a variety of containers and even on ordinary C++ arrays. A key factor in the library design is the consistent use of iterators, which generalize C++ pointers, as intermediaries between algorithms and containers. A precise classification of iterators into five categories is the basis for determining which algorithms can be used with which containers, and is the main guide to extension of the library to include new algorithms that work with STL containers, or new containers to which many STL generic algorithms can be applied.
Take a peak at for more in-depth information (yes, I just copied all of the above from that site!)
To boil it down simply, it's really just another library with functions and structures that tend to get used a lot in programming (maybe more so in games). The nice thing about STL is that it is designed from the ground-up to be cross-platform (I guess that's really the point actually) so your code that makes use of it's functionality should be identical across all platforms.
Thierry has certainly more experience with it than me, so hopefully he'll elaborate a bit (and correct anything I'm wrong about of course!)
...and so I said to Mr. Gates: "$640 billion should be enough for anyone!"