Introduction to the C++ Standard Template Library
"Great job of presenting the material in an
understandable
manner."
- Training Manager
Description
This course provides a
thorough grounding in both the features of the
C++
standard template library (STL) and in the C++ language features and
techniques
used in its design.
The course introduces
the STL and describes its overall
structure
and basic use. Subsequent sections provide details on STL algorithms,
containers,
and related standard library classes. While some experience with C++
templates
is assumed, interspersed throughout the course are special sections
that
review the relevant template features that are required for
understanding
the STL material.
The text contains extensive
notes sections that elaborate and expand
on the course material, and allow the text to be used as a reference.
Of
particular utility are numerous "gotcha" notes, set off by a special
symbol,
that show how to avoid subtle language and design errors. The course
includes
laboratory exercises and solutions.
Audience
This course is designed
to serve the needs of professional software
engineers
with C++ background equivalent to Introduction
to Object-Oriented Programming in C++, and several months of
production
C++ experience.
Format
3 days, lecture/lab
or 2 days, lecture
This course may be
customized to the individual client's application
domain, project, staff experience level, and scheduling requirements.
Outline
- Introduction to the STL
- purpose and structure of the STL: containers, algorithms, and
iterators
- review: class and function templates
- container classification, characteristics, and content
- iterator classification and behavior
- generic algorithms and iterators
- design of generic algorithms and performance guarantees
- iostream iterators
- Generic Algorithms
- review: generic algorithms and helper templates
- interaction between algorithms and iterators
- generic algorithm goals, documentation, and design
- sequences, subsequences, and sequence errors
- descriptions of STL algorithms
- Containers
- properties, insertion and deletion effects, specific
functionality
- vectors
- lists
- maps
- containers and exceptions
- choosing an appropriate container
- container adapters
- Function Objects
- functions and generic algorithms
- function objects and generic algorithms
- algorithm families
- function objects and containers, strict weak ordering
- standard function objects