This STL reference site is primarily meant for university students studying C++ and using the STL, possibly for the first time. Many sample programs are available to illustrate the member functions in the interface of each container and container adaptor, and at least one sample program illustrating every STL algorithm shown, as well as the alternate versions of those algorithms that have one. More sample programs may be added as time goes on.

Sample programs are generally available in three forms: source code, Windows executables (if you trust the website enough to run them), and text output (from the executables, if you don't trust the website enough to run them). The text output is exact if the program does not have user input, and typical if it is does.

Each completed or partially complete page is designed to provide information on a particular aspect of the C++ Standard Template Library. With a topic as complex, as versatile, as powerful, and as continually enhanced over time as the STL, it is often useful to have the same information presented in several different ways—algorithms in alphabetical order, to be sure, but also algorithms grouped by purpose, for example. This redundancy, and others, will be observed on this site and, with luck, will be found useful.


This site is likely never to be finished to the author's satisfaction, and so is best regarded as a perpetual work-in-progress. There may be short or long periods of time during which nothing happens on the site, depending on the time and other constraints on the author. If you find anything on the site particularly useful, or if you can think of a way to make it more useful, or if you find an error or some other problem, either trivial or egregious, the author would appreciate hearing from you (porter.scobey@smu.ca).