Home News Rules Faq Video Download Buy About

c-jump C++ Standard Library Tutorial


C++ Standard Library Tutorial

C++ Standard Library Tutorial allows users to visualize interaction between containers, iterators, and algorithms of C++ Standard Library, the STL.


Copyright 1998-2007 Igor Kholodov
28 S Main Street, PMB# 224
Randolph, Massachusetts 02368-4821
United States


The C++ Standard Library Tutorial program is a freeware. It is provided 'as-is', without any expressed or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to distrubute this tutorial freely and use this software for any purpose.


Standard Template Library, STL, is part of the C++ Standard Library. STL "is a set of well structured generic C++ components that work together in a seamless way" [Stepanov]. As its name suggests, STL makes heavy use of C++ templates. STL components are built upon multiple levels of abstraction of templated classes and functions, which may appear intimidating or overwhelming for a person learning the library. Presented tutorial program allows users to visualize interaction between containers, iterators, and algorithms in a pictorial form.

Program Overview

This tutorial is currently a Microsoft VC++ 7.1 MFC application, which requires Microsoft Windows to compile. It was originally written as one of my school projects. For years, I was hoping to re-write it using platform-independent GUI, but never found time to do so. Finally, I decided to publish it as is, without modifications. Unix users can run STL tutorial under Wine compatibility layer for Windows.

A user can select tutorial examples from the tree view. Example source code is displayed. When user clicks on the lines of sample code, the program animates interaction between STL classes during each step of execution.

When user selects an example, its C++ code gets executed, and each line of code generates animation of C++ objects residing in computer memory. The results become visible to the user as a series of individual run-time execution steps.

Initial recording of each example is driven by actual STL components at run-time. "A programmer can provide iterators in addition to those provided by the standard library. This is often necessary when providing a new kind of container, and sometimes a new kind of iterator is a good way of using existing containers." [Stroustrup 19.3] .


[Stepanov] M. Lee and A. Stepanov
The Standard Template Library. Technical report,
Hewlett Packard Laboratories, Menlo Park, California, 1995.

[Stroustrup] Bjarne Stroustrup
The C++ Programming Language
(Third Edition). Addison-Wesley. Reading, Mass
1997, ISBN 0-201-88954-4

STL strings

For information about STL strings, visit Common Text Transformation Library http://cttl.sourceforge.net/

Copyright © 1997-2016 Igor Kholodov.
All rights reserved. This document is protected by International and US Copyright Laws. No part of this document may be reproduced in any form by any means without prior written authorization. The information described in this document is protected by one or more U.S. patents, foreign patents, or pending applications.