Course Content
C++ Standard Template Library Features and Benefits
- Why the STL is important
- Primary uses
- The key components of the STL
- Current status
Iterators
- Input and output iterators
- Iterators and streams
- Forward iterators
- Bidirectional and random-access iterators
- Iterators and pointers
- Iterator adaptors
- Insert, back, and front iterators
Container Basics
- Commonalities among containers
- Contained defined types
- Iterator-creating operations
- Copying and assigning containers
Sequence 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
Sorted Associative Containers
- Specifying element ordering
- Sets
- Inserting and deleting set elements
- Multisets
- Specialized set and multiset operations
- Maps
- Key-based access
- Subscript-based access
- Multimaps
Sequence Adaptors
- Stacks
- Queues
- Priority Queues
Sequential Algorithms
- Read-only operations
- Counting algorithms
- Locating elements and subsequences
- Modifying algorithms
- Placing values in sequences
- Copying and replacing elements
- Transforming collections
- Removing algorithms
Order-Related Algorithms
- Reversing and rotating algorithms
- Random ordering and permutations
- Sorting algorithms
- Binary search
- Set algorithms
- Heap algorithms
Numeric Algorithms
- Accumulation
- Partial sums
- Adjacent difference
- Inner products
- Minimums and maximums
Function Objects
- Types of function objects
- Comparison objects
- Predicates
- Function adaptors
- Binders and negators
Tips
- Simplifying STL's Use
- Using STL efficiently in terms of time
- Using STL efficiently in terms of space
- Hiding STL's use
- Extending STL