Overview
The Standard Template Library (STL) is a subset of the C++ Standard
Library consisting of header files that define container, function,
and iterator classes along with algorithms and other utilities that
work with these classes. These classes are written in a generic way
to support both existing C++ built-in datatypes, as well as
user-defined objects. The STL is not really object-oriented since
there are no virtual functions and few related classes. Instead, STL
classes are designed according to the principles of generic
programming.
To help you learn how to program with STL, I hosted a series of
interactive webinars that explained key concepts in STL and walked
through many examples of applying STL features. All sessions were
uploaded to my YouTube
playlist for this webinar series, so you can watch them at your
convenience.
The C++ source code for these examples is available here.
These examples were tested in CLion and should be straightforward to
port it to other C++ environments, as well. Suggestions for
improvement are welcome (especially if they are accompanied with
updates to the source code).
Recommended Background
These webinars are intended for software developers who are familiar
with
- General object-oriented design and programming concepts,
such as encapsulation, abstraction, polymorphism, and extensibility,
and
- Core object-oriented and functional programming language
features, such as classes, inheritance, dynamic binding, templates,
and lambda expressions, that are available in C++.
Coverage of these background topics is available in my numerous digital
learning offerings.
Additional Resources
The following are other online sources of material on C++ and STL:
- My videos
on object-oriented and functional design and programming with C++ and
Java, as well as patterns and frameworks for concurrent and networked
software.
- My Vanderbilt University course on Intermediate
Software Design, which focuses on advanced C++ features, the C++
Standard Template Library (STL), and software design patterns.
Back to Douglas
C. Schmidt's Digital Learning page.
Last modified 14:25:51 CDT 23 June 2020