Table of Contents

C++ Standard Template Library

The C++ STL (Standard Template Library) is a generic collection of class templates and algorithms that allow programmers to easily implement standard data structures like queues, lists, and stacks.

Data Structures

The C++ STL provides programmers with the following constructs, grouped into three categories:

The idea behind the C++ STL is that the hard part of using complex data structures has already been completed. If a programmer would like to use a stack of integers, all one has to do is use this code:

  stack<int> myStack;

With minimal effort, one can now push and pop integers onto this stack. Through the magic of C++ Templates, one could specify any data type, not just integers. The STL Stack class will provide generic functionality of a stack, regardless of the data in the stack.

Algorithms

In addition, the STL also provides a bunch of useful algorithms – such as binary_search, sort, and for_each – that can be used on a variety of containers or data structures.

Iterators

C++ Iterators provide a generic way of iterating over the STL data structures.

Function Objects

The <functional> header file defines methods related to the creation of function objects.

Memory

The <memory> header file provides simple memory management structures like auto_ptr.

Utility

There are several generic utility methods like make_pair in the <utility> header file.