FAQ > C++ Standard Template Library - An Introduction


Match word(s).

If you have any questions or comments,
please visit us on the Forums.

FAQ > Explanations of... > C++ Standard Template Library - An Introduction

This item was added on: 2003/02/14

One of the later editions to the C++ standard is the Standard Template Library (STL). If you don't know what templates are, you should read the templates tutorial for an overview; understanding templates is imperative to understanding the Standard Template Library. The STL is a set of abstract datatypes, functions, and algorithms designed to handle user-specified datatypes. Each of the abstract datatypes also contains the useful functions to access them, this includes overloaded operators. The spirit of the Standard Template Library is the idea of generic programming - the implementation of algorithms or data structures without being dependent on the type of data being handled

The STL offers the programmer several advantages. First, the many predefined types simplify program design; no longer does a programmer have to write his own class to handle vectors, queues, or lists. Second, it offers powerful type-independent algorithms, including the obvious sorting and searching. Third, it does so at very lost cost to program performance, no more than any other templated class or function.

Finally, though not part of the STL, the standard library includes a string class, which will be covered in this set of tutorials. For those of you who have used the C string.h functions, it is a welcome relief to have access to a simplified string manipulation interface. Not only strings, but vectors, linked lists, queues, stacks, as well as sorting, searching, numeric, permutation, and sequence operations are several of the datatypes and functions included in the STL.

The scope of the STL is wide. Each tutorial in this series will cover one of the simplifying offerings of the library. The first few tutorials will cover several basic datatypes, including strings, followed by more complex datatypes, then followed with coverage of iterators and several templated algorithms.

For more on the STL, visit our STL tutorial series.

Script provided by SmartCGIs