c++ standard template library

By attending C++ Standard Template Library workshop, Participants will learn to:

  • Use STL collection classes and iterators to implement real-world data storage needs
  • Use the key algorithms provided in the STL to quickly develop efficient solutions
  • Extend the STL with their own generic collection classes and algorithms

The C++ Standard Template Library training course explains the key attributes of generic, component-based software development, and how the C++ Standard Template Library supports this approach. It covers all major features of the library, including its collection classes, algorithms, iterators, and function objects.

The C++ Standard Template Library course is case-study oriented, developing a variety of small, but useful programs using the C++ Standard Template Library, often showing the same program written in a variety of different ways. In addition, the course is extremely hands on: Participants are given a variety of assignments to develop programs using library features.

Participants should have a thorough knowledge of the C++ language in terms of its syntax and of the way in which it works, the nature of pointers and pointer arithmetic for example. Participants need not know object-orientation or object-oriented design.

This workshop is for C++ users who perhaps want to begin acquiring generic programming skills, and who need to use the provisions of the STL in a knowledgeable and insightful way.

COURSE AGENDA

  • Input and output iterators
  • Iterators and streams
  • Forward iterators
  • Bidirectional and random-access iterators
  • Iterators and pointers
  • Iterator adaptors
  • Insert, back, and front iterators
  • Why the STL is important
  • Primary uses
  • The key components of the STL
  • Current status
  • Commonalities among containers
  • Contained defined types
  • Iterator-creating operations
  • Copying and assigning containers
  • An overview of vectors
  • Vector constructors
  • Vectors and space allocation
  • Inserting and deleting elements
  • Vectors and iterators
  • Deques
  • How deques are implemented
  • Deques and iterators
  • Lists
  • List-specific operations
  • Specifying element ordering
  • Sets
  • Inserting and deleting set elements
  • Multisets
  • Specialized set and multiset operations
  • Maps
  • Key-based access
  • Subscript-based access
  • Multimaps
  • Stacks
  • Queues
  • Priority Queues
  • Read-only operations
  • Counting algorithms
  • Locating elements and subsequences
  • Modifying algorithms
  • Placing values in sequences
  • Copying and replacing elements
  • Transforming collections
  • Removing algorithms
  • Reversing and rotating algorithms
  • Random ordering and permutations
  • Sorting algorithms
  • Binary search
  • Set algorithms
  • Heap algorithms
  • Accumulation
  • Partial sums
  • Adjacent difference
  • Inner products
  • Minimums and maximums
  • Types of function objects
  • Comparison objects
  • Predicates
  • Function adaptors
  • Binders and negators
  • Simplifying STL's Use
  • Using STL efficiently in terms of time
  • Using STL efficiently in terms of space
  • Extending STL